[Issue 8366] Overriding const member function in conjunction with mutable overload causes a strange error
http://d.puremagic.com/issues/show_bug.cgi?id=8366 --- Comment #8 from github-bugzi...@puremagic.com 2013-03-06 15:05:44 PST --- Commits pushed to master at https://github.com/D-Programming-Language/dmd https://github.com/D-Programming-Language/dmd/commit/de9e8b3073aa3abc2bb93d5482a7dcbe66aab92c fix Issue 8366 - Overriding const member function in conjunction with mutable overload causes a strange error We MUST kill attribute inference with const. To implement it correctly without breaking overriding and overloading features, re-scanning and arrangement of vtbl entries is needed in the end of Classdeclaration::semantic, it will decrease compile speed. I think that is a big drawbacks than the benefit. https://github.com/D-Programming-Language/dmd/commit/2cab1b0c852e7f86f9553940ab8441c7efee31f4 Merge pull request #1042 from 9rnsr/fix8366 Issue 8366 - Overriding const member function in conjunction with mutable overload causes a strange error -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8366] Overriding const member function in conjunction with mutable overload causes a strange error
http://d.puremagic.com/issues/show_bug.cgi?id=8366 Walter Bright bugzi...@digitalmars.com changed: What|Removed |Added Status|NEW |RESOLVED CC||bugzi...@digitalmars.com Resolution||FIXED -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8366] Overriding const member function in conjunction with mutable overload causes a strange error
http://d.puremagic.com/issues/show_bug.cgi?id=8366 Andrej Mitrovic andrej.mitrov...@gmail.com changed: What|Removed |Added CC||andrej.mitrov...@gmail.com --- Comment #5 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-01-13 10:39:23 PST --- What's the state of this? I'm getting different error messages, such as: Deprecation: class test.C use of object.Object.opEquals(Object o) hidden by C is deprecated. Use 'alias Object.opEquals opEquals;' to introduce base class overload set. Is that ok? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8366] Overriding const member function in conjunction with mutable overload causes a strange error
http://d.puremagic.com/issues/show_bug.cgi?id=8366 --- Comment #6 from Kenji Hara k.hara...@gmail.com 2013-01-13 17:45:09 PST --- (In reply to comment #5) What's the state of this? I'm getting different error messages, such as: Deprecation: class test.C use of object.Object.opEquals(Object o) hidden by C is deprecated. Use 'alias Object.opEquals opEquals;' to introduce base class overload set. Is that ok? No. In 2.060 release, all Object class method signatures are reverted, so the original code is not correct in current. More generic case is: class B { bool foo(in Object o) const { return true; } } class C : B { bool foo(in Object o) { return true; } // line 10 override bool foo(in Object o) const { return false; } // line 12 } void main() { C mc = new C(); const C cc = new C(); B mb = mc; const B cb = cc; assert(mc.foo(null) == true); assert(cc.foo(null) == false); assert(mb.foo(null) == false); assert(cb.foo(null) == false); } This code should compile but outputs: --- test.d(10): Deprecation: overriding base class function without using override attribute is deprecated (test.C.foo overrides test.B.foo) test.d(12): Error: function test.C.foo multiple overrides of same function Mutable foo in class C is incorrectly overrides const foo in class B. That is the bug. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8366] Overriding const member function in conjunction with mutable overload causes a strange error
http://d.puremagic.com/issues/show_bug.cgi?id=8366 --- Comment #7 from Andrej Mitrovic andrej.mitrov...@gmail.com 2013-01-13 17:57:08 PST --- Ah I'm sorry, I haven't seen your comment here: http://d.puremagic.com/issues/show_bug.cgi?id=8366#c3 I saw github-bugzi...@puremagic.com posting and thought it was done, but there are 3 pulls. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8366] Overriding const member function in conjunction with mutable overload causes a strange error
http://d.puremagic.com/issues/show_bug.cgi?id=8366 --- Comment #4 from github-bugzi...@puremagic.com 2012-11-21 20:37:45 PST --- Commits pushed to master at https://github.com/D-Programming-Language/druntime https://github.com/D-Programming-Language/druntime/commit/d57d808db194c3f1ee6af4d8251478309f0bab49 fix Issue 8366 - Overriding const member function in conjunction with mutable overload causes a strange error https://github.com/D-Programming-Language/druntime/commit/771c2a1503c91df79704277444c550ad463c590c Merge pull request #353 from 9rnsr/fix8366 Issue 8366 - Overriding const member function in conjunction with mutable overload causes a strange error -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8366] Overriding const member function in conjunction with mutable overload causes a strange error
http://d.puremagic.com/issues/show_bug.cgi?id=8366 Kenji Hara k.hara...@gmail.com changed: What|Removed |Added Keywords||pull --- Comment #3 from Kenji Hara k.hara...@gmail.com 2012-07-10 09:48:50 PDT --- https://github.com/D-Programming-Language/dmd/pull/1042 https://github.com/D-Programming-Language/druntime/pull/272 https://github.com/D-Programming-Language/phobos/pull/680 I think we must kill the attribute inference for 'const' attribute. It requires much compiler implementation cost against its little benefit. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---
[Issue 8366] Overriding const member function in conjunction with mutable overload causes a strange error
http://d.puremagic.com/issues/show_bug.cgi?id=8366 Benjamin Thaut c...@benjamin-thaut.de changed: What|Removed |Added CC||c...@benjamin-thaut.de --- Comment #1 from Benjamin Thaut c...@benjamin-thaut.de 2012-07-09 22:01:38 PDT --- I reported the same issue with shared a while back, and it was stated that this is intentional. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email --- You are receiving this mail because: ---