On 6/6/19 1:49 PM, Adam D. Ruppe wrote:
On Thursday, 6 June 2019 at 17:40:17 UTC, Machine Code wrote:
outside an unittest, this compiles fine:

    struct A

try making it `static struct` instead


cannot implicitly convert expression "hehe" of type string to A

Why does inside a unittest it doesn't work? the constructor this(string) {} seems to get disabled.

My suspicion is it is trying to access the context of the unittest as a hidden paramater to that constructor there... and in an enum, it can't, just stupid compiler didn't think to mention the hidden arg here.

my guess.

Yes, correct guess. A unittest block is actually a function, so it's considered an inner struct with a hidden context pointer.

-Steve

Reply via email to