2012/3/27 Daniel Donnelly <enjoysmath@gmail.com>
I have: [code]

     module A;
        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;
        }

With git head (2.062alpha):

test.d(21): Error: immutable method test.B.dup is not callable using a mutable object

Kenji Hara