On Monday, 25 March 2013 at 18:15:21 UTC, TommiT wrote: > (++bar).fun(); > > ... which would be lowered to: > > (*cast(Bar*) ((cast(byte*) &++bar) + > Bar.init._foo.offsetof)).fun(); Sorry, meant to say: (*cast(Bar*) ((cast(byte*) &++bar) - Bar.init._foo.offsetof)).fun();