Index: src/tests/.expect/memberCtors-ERR1.txt
===================================================================
--- src/tests/.expect/memberCtors-ERR1.txt	(revision 65197c2ce4425076f94848e4be37218f1bcc0626)
+++ src/tests/.expect/memberCtors-ERR1.txt	(revision c13e8dc8e6f0df8fbbc9501a53af72999d0ecc57)
@@ -1,1 +1,1 @@
-memberCtors.c:71:1 error: in void ?{}(B &b), field a2 used before being constructed
+memberCtors.c:78:1 error: in void ?{}(B &b), field a2 used before being constructed
Index: src/tests/.expect/memberCtors.txt
===================================================================
--- src/tests/.expect/memberCtors.txt	(revision 65197c2ce4425076f94848e4be37218f1bcc0626)
+++ src/tests/.expect/memberCtors.txt	(revision c13e8dc8e6f0df8fbbc9501a53af72999d0ecc57)
@@ -98,4 +98,5 @@
 end copy construct A
 End of main
+begin destruct B
 constructing int
 constructing int
@@ -146,13 +147,15 @@
 destructing int: 0
 destructing int: 1000
-destructing int: 0
-destructing int: 0
-destructing int: 999
-destructing int: 0
-destructing int: 0
-destructing int: 0
-destructing int: 0
-destructing int: 0
-destructing int: 999
+end destruct B
+destructing int: 0
+destructing int: 0
+destructing int: 999
+destructing int: 0
+destructing int: 0
+destructing int: 0
+destructing int: 0
+destructing int: 0
+destructing int: 999
+begin destruct B
 constructing int
 constructing int
@@ -203,11 +206,12 @@
 destructing int: 0
 destructing int: 1000
-destructing int: 0
-destructing int: 0
-destructing int: 999
-destructing int: 0
-destructing int: 0
-destructing int: 0
-destructing int: 0
-destructing int: 0
-destructing int: 999
+end destruct B
+destructing int: 0
+destructing int: 0
+destructing int: 999
+destructing int: 0
+destructing int: 0
+destructing int: 0
+destructing int: 0
+destructing int: 0
+destructing int: 999
Index: src/tests/memberCtors.c
===================================================================
--- src/tests/memberCtors.c	(revision 65197c2ce4425076f94848e4be37218f1bcc0626)
+++ src/tests/memberCtors.c	(revision c13e8dc8e6f0df8fbbc9501a53af72999d0ecc57)
@@ -22,8 +22,15 @@
 }
 
-void ?=?(WrappedInt & this, int x) {
+/* WrappedInt */ void ?=?(WrappedInt & this, int x) {
   printf("assigning int: %d %d\n", this.x, x);
   this.x = x;
+  // return this;
 }
+
+// WrappedInt ?=?(WrappedInt & this, WrappedInt other) {
+//   printf("assigning int: %d %d\n", this.x, other.x);
+//   this.x = other.x;
+//   return this;
+// }
 
 struct A {
@@ -79,11 +86,13 @@
 
 void ^?{}(B & b) {
+  printf("begin destruct B\n");
   b.a2 = (A) { 0 };
   ^(b.a1){};
+  printf("end destruct B\n");
 } // a2, a3 never destructed - will be automatically destructed
 
 int main() {
   printf("Before declaration of b1\n");
-  B b1;
+  B b1;  // b1 = { { 1000, 0, 0 }, { 1001, 0, 0 }, { 0, 0, 0 } }
   printf("Before declaration of b2\n");
   B b2 = b1;
