Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
February 25, 2014 alias declaration spec | ||||
---|---|---|---|---|
| ||||
Grammar spec (http://dlang.org/grammar.html#AliasDeclaration) allows: AliasDeclaration: alias BasicType Declarator DMD allows: alias ref int MyRefInt; Is the ref storage class allowed by the current grammar spec? |
February 25, 2014 Re: alias declaration spec | ||||
---|---|---|---|---|
| ||||
Posted in reply to cal | On Tuesday, February 25, 2014 22:32:44 cal wrote:
> Grammar spec (http://dlang.org/grammar.html#AliasDeclaration)
> allows:
>
> AliasDeclaration:
> alias BasicType Declarator
>
> DMD allows:
>
> alias ref int MyRefInt;
>
> Is the ref storage class allowed by the current grammar spec?
No. ref is not part of the BasicType grammar rule. ref is only legal on function parameters, return types, and the variable in a foreach loop and is not part of the type.
- Jonathan M Davis
|
February 25, 2014 Re: alias declaration spec | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jonathan M Davis | On Tuesday, 25 February 2014 at 23:09:43 UTC, Jonathan M Davis wrote:
> On Tuesday, February 25, 2014 22:32:44 cal wrote:
>> Grammar spec (http://dlang.org/grammar.html#AliasDeclaration)
>> allows:
>>
>> AliasDeclaration:
>> alias BasicType Declarator
>>
>> DMD allows:
>>
>> alias ref int MyRefInt;
>>
>> Is the ref storage class allowed by the current grammar spec?
>
> No. ref is not part of the BasicType grammar rule. ref is only legal on
> function parameters, return types, and the variable in a foreach loop and is
> not part of the type.
>
> - Jonathan M Davis
Thanks, I'll file this a grammar bug.
|
February 26, 2014 Re: alias declaration spec | ||||
---|---|---|---|---|
| ||||
Posted in reply to cal | On Tuesday, February 25, 2014 23:14:08 cal wrote:
> On Tuesday, 25 February 2014 at 23:09:43 UTC, Jonathan M Davis
>
> wrote:
> > On Tuesday, February 25, 2014 22:32:44 cal wrote:
> >> Grammar spec (http://dlang.org/grammar.html#AliasDeclaration)
> >> allows:
> >>
> >> AliasDeclaration:
> >> alias BasicType Declarator
> >>
> >> DMD allows:
> >>
> >> alias ref int MyRefInt;
> >>
> >> Is the ref storage class allowed by the current grammar spec?
> >
> > No. ref is not part of the BasicType grammar rule. ref is only
> > legal on
> > function parameters, return types, and the variable in a
> > foreach loop and is
> > not part of the type.
> >
> > - Jonathan M Davis
>
> Thanks, I'll file this a grammar bug.
If anything, it's a bug that ref is allowed in an alias given that it can't be part of a type, and alias is used to either alias a type or a symbol.
- Jonathan M Davis
|
February 26, 2014 Re: alias declaration spec | ||||
---|---|---|---|---|
| ||||
Posted in reply to Jonathan M Davis | On Wednesday, 26 February 2014 at 11:45:54 UTC, Jonathan M Davis wrote:
> On Tuesday, February 25, 2014 23:14:08 cal wrote:
>> On Tuesday, 25 February 2014 at 23:09:43 UTC, Jonathan M Davis
>>
>> wrote:
>> > On Tuesday, February 25, 2014 22:32:44 cal wrote:
>> >> Grammar spec (http://dlang.org/grammar.html#AliasDeclaration)
>> >> allows:
>> >>
>> >> AliasDeclaration:
>> >> alias BasicType Declarator
>> >>
>> >> DMD allows:
>> >>
>> >> alias ref int MyRefInt;
>> >>
>> >> Is the ref storage class allowed by the current grammar spec?
>> >
>> > No. ref is not part of the BasicType grammar rule. ref is only
>> > legal on
>> > function parameters, return types, and the variable in a
>> > foreach loop and is
>> > not part of the type.
>> >
>> > - Jonathan M Davis
>>
>> Thanks, I'll file this a grammar bug.
>
> If anything, it's a bug that ref is allowed in an alias given that it can't be
> part of a type, and alias is used to either alias a type or a symbol.
>
> - Jonathan M Davis
You can also get ref in a type using is(foo Types == function)
|
Copyright © 1999-2021 by the D Language Foundation