On Monday, 24 November 2014 at 08:35:08 UTC, ketmar via
Digitalmars-d-learn wrote:
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.
There's hope that this will get fixed in the near future:
https://github.com/D-Programming-Language/dmd/pull/2305