@@ -0,0 +1,37 @@
+{ %version=1.1 }
+{$mode objfpc}
+ type
+ t = class(tobject)
+ constructor Init;
+ end;
+
+ constructor t.Init;
+ begin
+ fail; { constructor will return NULL in ESI now, which is OK }
+ c = class(tobject)
+ procedure p;
+ procedure c.p;
+ var i:t;
+ i:=t.Init;
+ if i<>nil then
+ writeln('Problem with saving a non assigned self');
+ halt(1);
+ { returned is NULL in ESI, and AfterConstructor is attempted to call by
+ referencing an invalid VMT via ESI}
+ var i:c;
+begin
+ i:=c.create; i.p;
+end.