Index: src/SymTab/Validate.cc
===================================================================
--- src/SymTab/Validate.cc	(revision f0663213735198062b3ba689b56f1f8d441722e9)
+++ src/SymTab/Validate.cc	(revision 63afee01b295cdf30409284a0c1d8f6f5d5b1049)
@@ -628,4 +628,10 @@
 	Declaration *makeStructAssignment( StructDecl *aggregateDecl, StructInstType *refType, unsigned int functionNesting ) {
 		FunctionType *assignType = new FunctionType( Type::Qualifiers(), false );
+
+		// Make function polymorphic in same parameters as generic struct, if applicable
+		std::list< TypeDecl* >& genericParams = aggregateDecl->get_parameters();
+		for ( std::list< TypeDecl* >::const_iterator param = genericParams.begin(); param != genericParams.end(); ++param ) {
+			assignType->get_forall().push_back( (*param)->clone() );
+		}
   
 		ObjectDecl *returnVal = new ObjectDecl( "", DeclarationNode::NoStorageClass, LinkageSpec::Cforall, 0, refType->clone(), 0 );
