abstract class A
{
        string _s;
        
@property:
        final string s()
        {
                return _s;
        }
        
        A s(string x)
        {
                _s = x;
                return this;
        }
}

class B : A
{
@property:
        final override A s(string x)
        {
                _s = x;
                return this;
        }
}
        
void main()
{
        B b = new B();
        b.s = "abc";
        assert(b.s == "abc");
}

Compilation output
/d536/f408.d(32): Error: function f408.B.s (string x) is not callable using argument types ()

Reply via email to