Why this fails when using unittest?

Machine Code jckj33 at gmail.com
Fri Jun 7 16:24:40 UTC 2019


On Thursday, 6 June 2019 at 17:49:58 UTC, 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

didn't work either

>
>>> 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.

So it's a CTFE limitation in unittest/local functions(I also 
tried to declare that struct inside a function, but did not work 
either). right? assuming it's an error, it's going to be fixed 
anytime soon?


More information about the Digitalmars-d-learn mailing list