Index: src/tests/.expect/ctor-autogen-ERR1.txt
===================================================================
--- src/tests/.expect/ctor-autogen-ERR1.txt	(revision b93a3de3de9cd1e0a05c6f8cd3e218e2ac85ceb0)
+++ src/tests/.expect/ctor-autogen-ERR1.txt	(revision b93a3de3de9cd1e0a05c6f8cd3e218e2ac85ceb0)
@@ -0,0 +1,9 @@
+ctor-autogen.c:76:1 error: No reasonable alternatives for expression Applying untyped: 
+  Name: ?{}
+...to: 
+  Cast of:
+    Variable Expression: x: instance of struct Managed with body 1 
+  ... to:
+    reference to instance of struct Managed with body 1 
+  constant expression (123 123: signed int)
+
Index: src/tests/Makefile.am
===================================================================
--- src/tests/Makefile.am	(revision f23297749a9c5994cc01da9cf150c132ee015f82)
+++ src/tests/Makefile.am	(revision b93a3de3de9cd1e0a05c6f8cd3e218e2ac85ceb0)
@@ -133,4 +133,7 @@
 	${CC} ${AM_CFLAGS} ${CFLAGS} -DERR1 ${<} -o ${@}
 
+ctor-autogen-ERR1: ctor-autogen.c @CFA_BINDIR@/@CFA_NAME@
+	${CC} ${AM_CFLAGS} ${CFLAGS} -DERR1 ${<} -o ${@}
+
 completeTypeError : completeTypeError.c @CFA_BINDIR@/@CFA_NAME@
 	${CC} ${AM_CFLAGS} ${CFLAGS} -DERR1 ${<} -o ${@}
Index: src/tests/Makefile.in
===================================================================
--- src/tests/Makefile.in	(revision f23297749a9c5994cc01da9cf150c132ee015f82)
+++ src/tests/Makefile.in	(revision b93a3de3de9cd1e0a05c6f8cd3e218e2ac85ceb0)
@@ -886,4 +886,7 @@
 	${CC} ${AM_CFLAGS} ${CFLAGS} -DERR1 ${<} -o ${@}
 
+ctor-autogen-ERR1: ctor-autogen.c @CFA_BINDIR@/@CFA_NAME@
+	${CC} ${AM_CFLAGS} ${CFLAGS} -DERR1 ${<} -o ${@}
+
 completeTypeError : completeTypeError.c @CFA_BINDIR@/@CFA_NAME@
 	${CC} ${AM_CFLAGS} ${CFLAGS} -DERR1 ${<} -o ${@}
Index: src/tests/ctor-autogen.c
===================================================================
--- src/tests/ctor-autogen.c	(revision f23297749a9c5994cc01da9cf150c132ee015f82)
+++ src/tests/ctor-autogen.c	(revision b93a3de3de9cd1e0a05c6f8cd3e218e2ac85ceb0)
@@ -32,4 +32,16 @@
 };
 
+// managed type - defines a constructor - can't use field constructors
+struct Managed {
+	int x;
+};
+
+void ?{}(Managed & m) { m.x = 0; }
+
+// managed type since it contains a managed type - can't use field constructors
+struct InheritManaged {
+	Managed m;
+};
+
 forall(otype T)
 T identity(T x) { return x; }
@@ -49,4 +61,10 @@
 	identity(s);  // S should be an otype
 
+	SimpleStruct ss;
+	SimpleUnion su;
+
+	identity(ss);
+	identity(su);
+
 	PopulatedStruct ps;
 	PopulatedUnion pu;
@@ -54,3 +72,11 @@
 	identity(ps); // should recursively be an otype
 	identity(pu); // should recursively be an otype
+
+#if ERR1
+	Managed x = { 123 }; // error
+	Managed y;           // okay
+
+	InheritManaged z = { y };  // error?
+#endif
+
 }
