On Monday, 11 May 2020 at 15:29:53 UTC, Steven Schveighoffer wrote:
On 5/11/20 11:11 AM, Shigeki Karita wrote:
[...]

First, it actually does compile, I think because the compiler recognizes that LocalS is POD (plain old data), without methods, so it doesn't need a context pointer.

e.g.:

auto make(T)() { return new T(); }

...

auto x = make!LocalS; // ok

If you add a method to LocalS, then make!LocalS fails to compile. However, strangely, p!LocalS still returns true, I think that is an error.

-Steve

Thanks for your answer. Now I understand that POD matters here.

When I add a dtor: `struct LocalS { ~this() {} }`, the `p!LocalS` got false.

Reply via email to