Stack overflow / recursive expansion with alias this

Namespace rswhite4 at googlemail.com
Tue Apr 24 06:33:52 PDT 2012


> You missed the 'immutable' and 'inout cases.
> Just use inout(T) _get() inout { return _value; } instead of 
> the two declarations you have.

Oh, thanks a lot, i'm forgetting this often.

>
>> ...
>> And therefore i get the same error, as if i wrote "return
>> NotNull!(Foo)(this);" instead of "return 
>> assumeNotNull(this);", in the
>> "_convert" method of NotNull. The Output is "Stack overflow". 
>> I think
>> that comes from recursive calls which fills the stack? Is that 
>> a bug?
>>
>
> Yes.

Some ideas how i can implement this otherwise? And would the bug 
fix come with 2.060?
With this functionality, the NotNull struct would be perfect.




More information about the Digitalmars-d-learn mailing list