On Mon, 24 Nov 2014 06:56:08 +0000
Andre via Digitalmars-d-learn <digitalmars-d-learn@puremagic.com> wrote:

> Hi,
> 
> in following example the @property method needs the ()
> otherwise compiler error  for row 24 is thrown.
> I cannot judge, whether the compiler behaves correct or not.
> 
> Kind regards
> André
> 
> ---
> 
> alias fnError = void delegate(string s);
> 
> interface IfSession
> {
>       @property fnError addError();
> }
> 
> class Session: IfSession
> {
>       private fnError _addError;
>       
>       @property fnError addError()
>       {
>               return _addError;
>       }
> }
> 
> void main()
> {
>       auto session = new Session();
>       session._addError = delegate(s){};
>       
>       session.addError()("test"); // Works
>       session.addError("test"); // Does not work
> }
a known thing. not sure if this is a known *bug* (seems that almost
nobody cares). compiler is obviously wrong here (and i believe that
it's wrong to accept `()` for properties at all), but i don't know if
this will ever be fixed.

Attachment: signature.asc
Description: PGP signature

Reply via email to