DIP69: problem with scope grammar - need a new keyword

Walter Bright via Digitalmars-d digitalmars-d at puremagic.com
Mon Dec 8 02:54:08 PST 2014


On 12/8/2014 2:43 AM, "Marc Schütz" <schuetzm at gmx.net>" wrote:
> On Monday, 8 December 2014 at 10:34:42 UTC, Walter Bright wrote:
>> On 12/8/2014 1:52 AM, deadalnix wrote:
>>> On Monday, 8 December 2014 at 09:46:03 UTC, Walter Bright wrote:
>>>> I thought I could make this work, but it's a problem. There are two meanings
>>>> for scope when attached to a function:
>>>>
>>>>    T func() scope;   // the 'this' pointer is 'scope'
>>>>    scope T func();   // the function returns a 'scope' T
>>>>
>>>> I have some ideas, but don't particularly like any of them. But I don't want
>>>> to bias things, so what ideas do you guys have?
>>>
>>> I'm arguing for ages that qualifier before the return type qualify the return
>>> type, and the one after the implicit argument. I stand by this.
>>
>> The trouble with that is, for example, __traits(getFuncAttributes, ...) which
>> will return "scope" for both cases.
>
> Why would it? A qualifier/stc for the implicit `this` parameter is not a
> function attribute.

That's a good point, but it currently returns 'ref' returns as an attribute.


More information about the Digitalmars-d mailing list