On Sun, 06 Nov 2011 23:10:57 -0500, Andrej Mitrovic
<andrej.mitrov...@gmail.com> wrote:
I've had a simple problem where I've only wanted to override a setter
from a base class:
class Foo
{
@property void test(int) {}
@property int test() { return 1; }
}
class Bar : Foo
{
override @property void test(int) {}
void bartest() { auto x = test; } // NG
}
test.d(19): Error: function test.Bar.test (int _param_0) is not
callable using argument types ()
So I thought I'd be clever:
class Foo
{
@property void test(int) {}
@property int test() { return 1; }
}
class Bar : Foo
{
alias super.test test;
override @property void test(int) {}
void bartest() { auto x = test; }
}
And it actually works! Is this a documented feature?
http://www.d-programming-language.org/function.html#function-inheritance
Look at the third example/description.
-Steve