Am Thu, 09 Oct 2014 10:50:44 +0200
schrieb Martin Nowak <[email protected]>:

> Kenji just proposed a slightly controversial pull request so I want to 
> reach out for more people to discuss it's tradeoffs.
> It's about deprecating function qualifiers on the left hand side of a 
> function.
> 
> So instead of
>      const int foo();
> you'd should write
>      int foo() const;
> 
> Then at some future point we could apply the left hand side qualifiers 
> to the return type, e.g. `const int foo();` == `const(int) foo();`
> 
> Would this affect your code?
> Do you think it makes your code better or worse?
> Is this just a pointless style change?
> Anything else?
> 
> https://github.com/D-Programming-Language/dmd/pull/4043

I write my function signatures like this now and I'm fine with
the change:

@safe pure nothrow @nogc [<1]
final override @property ref [<2] int foo() shared const [<3]
{
   ...
}

[1] Attributes that hint the compiler by narrowing down
    allowed language features.
[2] Visibility and behavioral attributes.
[3] Modifiers for implicit `this`.

-- 
Marco

Reply via email to