I have: [code]

        module A;

        interface B {
           public:
                  immutable B dup();
        }

        class A : B {
           public:
                  this() {}
                  this(in char[] field) { this.field = field.dup; }
                  immutable A dup() { return new A(field); }
           private:
                  char[] field;
        }

        void main()
        {
                B f, g;
                f = new A;
                g = new A;
                
                f = g.dup;
        }
[/code]

Compile: dmd A

Compile Output:
A.d(23): Error: function A.B.dup () immutable is not callable using argument types ()

Reply via email to