Why is my code does not compile? (dmd 2.021 linux)

Weed resume755 at mail.ru
Fri Dec 12 13:27:08 PST 2008


Bill Baxter пишет:
> On Sat, Dec 13, 2008 at 5:45 AM, Weed <resume755 at mail.ru> wrote:
>> void main()
>> {
>>    int i;
>>
>>    ref int func()
>>    {
>>      return i;
>>    }
>>
>>    func() = 4;
>> }
>>
>> lval.d(5): found 'ref' instead of statement
>> lval.d(10): no identifier for declarator func
>> lval.d(11): unrecognized declaration
>>
>>
>> but code like this compiles:
>>
>> ref int func()
>> {
>>  int* i = new int;
>>  return *i;
>> }
>>
>> void main()
>> {
>>    func() = 4;
>> }
>>
> 
> Ref return values are a very new feature in D2.  I suspect its just a
> bug that they don't work on inner functions yet.
> 
> --bb

message implies that the authors are aware of this limitation? report 
they do not need?


More information about the Digitalmars-d-learn mailing list