Index: src/SymTab/Autogen.cc
===================================================================
--- src/SymTab/Autogen.cc	(revision b8a52f55d70817296180e4dbf9fe1bf08cae15b2)
+++ src/SymTab/Autogen.cc	(revision 54c9000e4efa1fe5278b3e7542f24426b99cc070)
@@ -377,5 +377,7 @@
 			paramType->attributes.clear();
 			// add a parameter corresponding to this field
-			memCtorType->parameters.push_back( new ObjectDecl( field->name, Type::StorageClasses(), LinkageSpec::Cforall, nullptr, paramType, nullptr ) );
+			ObjectDecl * param = new ObjectDecl( field->name, Type::StorageClasses(), LinkageSpec::Cforall, nullptr, paramType, nullptr );
+			cloneAll_if( field->attributes, param->attributes, [](Attribute * attr) { return attr->isValidOnFuncParam(); } );
+			memCtorType->parameters.push_back( param );
 			FunctionDecl * ctor = genFunc( "?{}", memCtorType->clone(), functionNesting );
 			makeFieldCtorBody( aggregateDecl->members.begin(), aggregateDecl->members.end(), ctor );
