Index: src/SymTab/Validate.cc
===================================================================
--- src/SymTab/Validate.cc	(revision cda7889128223760d626d1f298cc2253013252c0)
+++ src/SymTab/Validate.cc	(revision 084feccbf17e05bce4de62ca0547934692f681fb)
@@ -823,8 +823,7 @@
 				throw SemanticError( "Constructors, destructors, and assignment functions require at least one parameter ", funcDecl );
 			}
-			PointerType * ptrType = dynamic_cast< PointerType * >( params.front()->get_type() );
 			ReferenceType * refType = dynamic_cast< ReferenceType * >( params.front()->get_type() );
-			if ( ( ! ptrType && ! refType ) || ( ptrType && ptrType->is_array() ) ) {
-				throw SemanticError( "First parameter of a constructor, destructor, or assignment function must be a pointer ", funcDecl );
+			if ( ! refType ) {
+				throw SemanticError( "First parameter of a constructor, destructor, or assignment function must be a reference ", funcDecl );
 			}
 			if ( InitTweak::isCtorDtor( funcDecl->get_name() ) && returnVals.size() != 0 ) {
