Index: tests/concurrent/actors/dynamic.cfa
===================================================================
--- tests/concurrent/actors/dynamic.cfa	(revision 858350aeda11d90bc7dba1d54c8df962b4643ed5)
+++ tests/concurrent/actors/dynamic.cfa	(revision 4933f188d66fe5f2c0bdcc5e573596e31f2cbcef)
@@ -7,9 +7,5 @@
 int Times = 1000000;								// default values
 
-struct derived_actor {
-    inline actor;
-};
-void ?{}( derived_actor & this ) { ((actor &)this){}; }
-
+struct derived_actor { inline actor; };
 struct derived_msg {
     inline message;
@@ -22,5 +18,4 @@
 }
 void ?{}( derived_msg & this ) { ((derived_msg &)this){ 0 }; }
-
 
 Allocation receive( derived_actor & receiver, derived_msg & msg ) {
Index: tests/concurrent/actors/executor.cfa
===================================================================
--- tests/concurrent/actors/executor.cfa	(revision 858350aeda11d90bc7dba1d54c8df962b4643ed5)
+++ tests/concurrent/actors/executor.cfa	(revision 4933f188d66fe5f2c0bdcc5e573596e31f2cbcef)
@@ -24,5 +24,4 @@
 
 struct d_msg { inline message; } shared_msg;
-void ?{}( d_msg & this ) { ((message &) this){ Nodelete }; }
 
 Allocation receive( d_actor & this, d_msg & msg ) with( this ) {
@@ -85,5 +84,4 @@
 	} // switch
 
-    
     executor e{ Processors, Processors, Processors == 1 ? 1 : Processors * 512, true };
 
Index: tests/concurrent/actors/matrix.cfa
===================================================================
--- tests/concurrent/actors/matrix.cfa	(revision 858350aeda11d90bc7dba1d54c8df962b4643ed5)
+++ tests/concurrent/actors/matrix.cfa	(revision 4933f188d66fe5f2c0bdcc5e573596e31f2cbcef)
@@ -7,8 +7,5 @@
 unsigned int xr = 500, xc = 500, yc = 500, Processors = 1; // default values
 
-struct derived_actor {
-    inline actor;
-};
-void ?{}( derived_actor & this ) { ((actor &)this){}; }
+struct derived_actor { inline actor; };
 
 struct derived_msg {
Index: tests/concurrent/actors/pingpong.cfa
===================================================================
--- tests/concurrent/actors/pingpong.cfa	(revision 858350aeda11d90bc7dba1d54c8df962b4643ed5)
+++ tests/concurrent/actors/pingpong.cfa	(revision 4933f188d66fe5f2c0bdcc5e573596e31f2cbcef)
@@ -6,13 +6,6 @@
 #include <actor.hfa>
 
-struct ping {
-    inline actor;
-};
-static inline void ?{}( ping & this ) { ((actor &)this){}; }
-
-struct pong {
-    inline actor;
-};
-static inline void ?{}( pong & this ) { ((actor &)this){}; }
+struct ping { inline actor; };
+struct pong { inline actor; };
 
 struct p_msg {
Index: tests/concurrent/actors/static.cfa
===================================================================
--- tests/concurrent/actors/static.cfa	(revision 858350aeda11d90bc7dba1d54c8df962b4643ed5)
+++ tests/concurrent/actors/static.cfa	(revision 4933f188d66fe5f2c0bdcc5e573596e31f2cbcef)
@@ -7,9 +7,5 @@
 int Times = 1000000;								// default values
 
-struct derived_actor {
-    inline actor;
-};
-void ?{}( derived_actor & this ) { ((actor &)this){}; }
-
+struct derived_actor { inline actor; };
 struct derived_msg {
     inline message;
@@ -22,5 +18,4 @@
 }
 void ?{}( derived_msg & this ) { ((derived_msg &)this){ 0 }; }
-
 
 Allocation receive( derived_actor & receiver, derived_msg & msg ) {
Index: tests/concurrent/actors/types.cfa
===================================================================
--- tests/concurrent/actors/types.cfa	(revision 858350aeda11d90bc7dba1d54c8df962b4643ed5)
+++ tests/concurrent/actors/types.cfa	(revision 4933f188d66fe5f2c0bdcc5e573596e31f2cbcef)
@@ -18,5 +18,4 @@
     int num;
 };
-static inline void ?{}( d_msg & this ) { ((message &)this){}; }
 
 // this isn't a valid receive routine since int is not a message type
@@ -36,5 +35,4 @@
     inline actor;
 };
-static inline void ?{}( derived_actor2 & this ) { ((actor &)this){}; }
 
 Allocation receive( derived_actor2 & receiver, d_msg & msg ) {
@@ -43,14 +41,10 @@
 }
 
-struct derived_actor3 {
-    inline actor;
-};
-static inline void ?{}( derived_actor3 & this ) { ((actor &)this){}; }
-
+struct derived_actor3 { inline actor; };
+struct derived_actor4 { inline derived_actor3; };
 struct d_msg2 {
     inline message;
     int num;
 };
-static inline void ?{}( d_msg2 & this ) { ((message &)this){}; }
 
 Allocation receive( derived_actor3 & receiver, d_msg & msg ) {
@@ -117,4 +111,17 @@
     } // RAII to clean up executor
 
+    {
+        printf("nested inheritance actor test\n");
+        executor e{ 1, Processors, Processors == 1 ? 1 : Processors * 4, true };
+        start_actor_system( Processors );
+        derived_actor4 a4;
+        d_msg b1;
+        d_msg2 c2;
+        b1.num = -1;
+        c2.num = 5;
+        a4 << b1 << c2;
+        stop_actor_system();
+    } // RAII to clean up executor
+
     printf("end\n");
     return 0;
