accept @pure @nothrow @return attributes

Daniel Kozak via Digitalmars-d digitalmars-d at puremagic.com
Wed Jan 28 13:36:49 PST 2015


Jonathan Marler via Digitalmars-d píše v St 28. 01. 2015 v 19:33 +0000:
> On Wednesday, 28 January 2015 at 19:29:25 UTC, Daniel Kozak wrote:
> >> I would think the reason would be it could make the grammar 
> >> ambiguous.  That's why I proposed it only be valid on the 
> >> right hand side of the function to guarantee it doesn't 
> >> introduce any ambiguity.  Other then that, I don't see any 
> >> reason why it's a bad thing.  It doesn't make the syntax more 
> >> complicated, it doesn't maker it harder to parse, I just don't 
> >> see why its bad.
> >
> > Thats not possible:
> >
> > @safe {
> >     void some func() // now valid
> > }
> >
> > safe:
> >     void some func() // now valid
> >
> >
> >
> > safe {
> >     void some func() // could not be valid
> > }
> >
> > safe:
> >     void some func() // could not be valid
> >
> >
> > So you need more places where keyword needs to be contextual 
> > keyword
> >
> > And this is a path I am not sure we want to go.
> 
> None of those cases would valid.  Non-Keyword attributes without 
> a '@' must be on the right hand side of the function parameters.
> 
> void some func(); // some is not a keyword, so it is invalid

Typo I mean some_func



More information about the Digitalmars-d mailing list