digitalmars.D.bugs - [Issue 8552] New: Bogus diagnostic when member function call doesn't match constancy
- d-bugmail puremagic.com (57/57) Aug 15 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8552
- d-bugmail puremagic.com (11/11) Aug 15 2012 http://d.puremagic.com/issues/show_bug.cgi?id=8552
- d-bugmail puremagic.com (17/17) Jan 03 2013 http://d.puremagic.com/issues/show_bug.cgi?id=8552
- d-bugmail puremagic.com (14/21) Jan 07 2013 http://d.puremagic.com/issues/show_bug.cgi?id=8552
http://d.puremagic.com/issues/show_bug.cgi?id=8552 Summary: Bogus diagnostic when member function call doesn't match constancy Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: major Priority: P2 Component: DMD AssignedTo: nobody puremagic.com ReportedBy: dmitry.olsh gmail.com --- Comment #0 from Dmitry Olshansky <dmitry.olsh gmail.com> 2012-08-15 10:56:08 PDT --- It's an old and annoying bug. Could be a duplicate but I failed to find any. Sample: struct SimpleCaseEntry { ubyte bucket;// n - number in bucket property ubyte size() { return bucket & 0x3F; } property auto isLower() { return bucket & 0x40; } property auto isUpper() { return bucket & 0x80; } this(ubyte size, bool lower, bool upper) { bucket = size; if(lower) bucket |= 0x40; if(upper) bucket |= 0x80; } } void main() { const SimpleCaseEntry e = SimpleCaseEntry(8, true, false); assert(!e.isUpper); assert(e.isLower); } With dmd 2.060: D:\D\m.d(30): Error: function m.SimpleCaseEntry.isUpper () is not callable using argument types() D:\D\m.d(31): Error: function m.SimpleCaseEntry.isLower () is not callable using argument types () Not a single word mentioning CONST or QUALIFIERS. While I'm more or less used to wrong error message it would blow away newibie's mind and thus marked as major. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 15 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8552 bearophile_hugs eml.cc changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |bearophile_hugs eml.cc --- Comment #1 from bearophile_hugs eml.cc 2012-08-15 11:03:07 PDT --- See Issue 8549 (But maybe both are dupes of an older bug report of mine) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Aug 15 2012
http://d.puremagic.com/issues/show_bug.cgi?id=8552 hsteoh quickfur.ath.cx changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |hsteoh quickfur.ath.cx Resolution| |FIXED --- Comment #2 from hsteoh quickfur.ath.cx 2013-01-03 20:52:25 PST --- Seems fixed in latest git head: $ dmd test.d test.d(30): Error: mutable method test.SimpleCaseEntry.isUpper is not callable using a const object test.d(31): Error: mutable method test.SimpleCaseEntry.isLower is not callable using a const object -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 03 2013
http://d.puremagic.com/issues/show_bug.cgi?id=8552 Kenji Hara <k.hara.pg gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Resolution|FIXED |DUPLICATE --- Comment #3 from Kenji Hara <k.hara.pg gmail.com> 2013-01-07 07:10:36 PST --- (In reply to comment #2)Seems fixed in latest git head: $ dmd test.d test.d(30): Error: mutable method test.SimpleCaseEntry.isUpper is not callable using a const object test.d(31): Error: mutable method test.SimpleCaseEntry.isLower is not callable using a const objectThe lack of information about qualifier mismatching is fixed by bug 6707. After that, the error message is improved by fixing bug 1730. Both are fixed in 2.061. *** This issue has been marked as a duplicate of issue 6707 *** -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
Jan 07 2013