and some doc:
http://dlang.org/spec/function.html#function-inheritance

On Wed, Aug 16, 2017 at 7:45 AM, Daniel Kozak <kozz...@gmail.com> wrote:

> No it is not a bug, there is no s() in B, you can fix this by adding:
>
> alias s = A.s;
>
> to class B
>
> On Wed, Aug 16, 2017 at 7:21 AM, apz28 via Digitalmars-d-learn <
> digitalmars-d-learn@puremagic.com> wrote:
>
>> 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 ()
>>
>
>
  • Compiler bug? apz28 via Digitalmars-d-learn
    • Re: Compiler bug? Daniel Kozak via Digitalmars-d-learn
      • Re: Compiler bug? Daniel Kozak via Digitalmars-d-learn

Reply via email to