Thread overview | |||||
---|---|---|---|---|---|
|
March 27, 2012 immutable method not callable using argument types () - doesn't make sense | ||||
---|---|---|---|---|
| ||||
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; } I get |
March 27, 2012 Re: immutable method not callable using argument types () - doesn't make sense | ||||
---|---|---|---|---|
| ||||
Posted in reply to Daniel Donnelly | Repost please delete |
February 07, 2013 Re: immutable method not callable using argument types () - doesn't make sense | ||||
---|---|---|---|---|
| ||||
Posted in reply to Daniel Donnelly Attachments:
| 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
|
Copyright © 1999-2021 by the D Language Foundation