crash when using &this in struct constructor

baz at dlang-community baz at dlang-community
Wed Jul 18 11:27:33 UTC 2018


On Monday, 16 July 2018 at 22:21:12 UTC, H. S. Teoh wrote:
> On Mon, Jul 16, 2018 at 10:08:34PM +0000, Eric via 
> Digitalmars-d-learn wrote:
>> [...]
>
> It's not illegal per se, but a very, very bad idea in general, 
> because in D, structs are expected to be int-like POD values 
> that can be freely copied/moved around by the compiler.  More 
> specifically, when structs are passed into functions or 
> returned from functions, they may be moved around.  Which means 
> internal pointers will wind up being wrong.
>
> [...]

Moving doesn't seem to be the issue here. Despite of the ICE, 
this code shouldn't compile, unless "&this" is allowed at 
compile-time.


More information about the Digitalmars-d-learn mailing list