On Saturday, 2 March 2024 at 19:29:47 UTC, Per Nordlöw wrote:
On Saturday, 2 March 2024 at 19:28:08 UTC, Per Nordlöw wrote:
On Saturday, 2 March 2024 at 19:11:42 UTC, kinke wrote:
Not according to run.dlang.io, for all available DMD versions. Perhaps your tested `S` was nested in some function/aggregate and so had an implicit context pointer.

Ahh. Yes. Indeed. My mistake. Thanks.

Thanks. Neither my websearches nor ChatGPT plus couldn't figure that out.

FYI, you can dump the layout of a struct, including hidden fields, by iterating over its `.tupleof` property:

```d
void main()
{
    struct S
    {
        @disable this(this);
        int n;
    }

    static foreach (field; S.tupleof)
        pragma(msg,
            typeof(field).stringof, " ",
            __traits(identifier, field), " ",
            "at ", field.offsetof
        );
}
```

This example prints out

```
int n at 0LU
void* this at 8LU
```

Reply via email to