digitalmars.D.bugs - [Issue 3013] New: bizaar diagnose message
- d-bugmail puremagic.com (23/23) May 20 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3013
- d-bugmail puremagic.com (16/16) May 20 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3013
- d-bugmail puremagic.com (12/12) May 20 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3013
- d-bugmail puremagic.com (11/11) May 20 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3013
- d-bugmail puremagic.com (15/20) May 21 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3013
- d-bugmail puremagic.com (11/30) May 21 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3013
- d-bugmail puremagic.com (35/35) May 22 2009 http://d.puremagic.com/issues/show_bug.cgi?id=3013
http://d.puremagic.com/issues/show_bug.cgi?id=3013 Summary: bizaar diagnose message Product: D Version: 2.028 Platform: PC OS/Version: Windows Status: NEW Severity: normal Priority: P2 Component: DMD AssignedTo: bugzilla digitalmars.com ReportedBy: davidl 126.com import std.string; void main() { char[] s= string.format("abc","abc"); } testd.d(5): Error: cannot implicitly convert expression (format((& D20TypeInfo_B9AyaAyaAya6__initZ),(immutable(char)[]), "abc","abc")) of type immutable(char)[] to char[] -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 20 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3013 ZHOU Zhenyu <rinick gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |WORKSFORME Severity|normal |trivial string.format("abc","abc"); is same as format(string, "abc", "abc"); which means: format(immutable(char)[], "abc", "abc"); -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 20 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3013 david <davidl 126.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|RESOLVED |REOPENED Resolution|WORKSFORME | The point is the error message should not expose mangled name to users. The original title is pretty clear. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 20 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3013 david <davidl 126.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Keywords| |diagnostic Summary|bizaar diagnose message |bizarre diagnostic message err , it was unclear.. there was a typo. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 20 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3013 Stewart Gordon <smjg iname.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |smjg iname.com Summary|bizarre diagnostic message |Weird message with cryptic | |mangled name - implicit | |conversion errorstring.format("abc","abc"); is same as format(string, "abc", "abc"); which means: format(immutable(char)[], "abc", "abc");I'm confused. Since when has it been legal to pass a type as a function argument? -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 21 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3013 ZHOU Zhenyu <rinick gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |rinick gmail.comIt's not legal. I was just explaining the error message of this bug:string.format("abc","abc"); is same as format(string, "abc", "abc"); which means: format(immutable(char)[], "abc", "abc");I'm confused. Since when has it been legal to pass a type as a function argument?import std.string; void main() { char[] s= string.format("abc","abc"); } testd.d(5): Error: cannot implicitly convert expression (format((& D20TypeInfo_B9AyaAyaAya6__initZ),(immutable(char)[]), "abc","abc")) of type immutable(char)[] to char[]-- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 21 2009
http://d.puremagic.com/issues/show_bug.cgi?id=3013 Stewart Gordon <smjg iname.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Version|2.028 |1.043 Summary|Weird message with cryptic |Weird implicit conversion |mangled name - implicit |error with cryptic mangled |conversion error |name - assigning to invalid | |arraytype.function call So the bug is that it tries to make out the type of the expression and gets somewhere (and hence delivers an error) before realising that string.format is itself invalid. The bug also occurs in DMD 1.043, as this shows: ---------- import std.string; void main() { int s = string.format("abc", "def"); } ---------- array_static_method.d(4): Error: cannot implicitly convert expression (format((& D17TypeInfo_B6AaAaAa6__initZ),(char[]),"abc","def")) of type char[] to int ---------- Strangely, given (int[]) instead of string, 2.030 gives an almost identical cryptic message, but 1.043 emits the more sensible ---------- array_static_method.d(4): Error: no property 'format' for type 'int[]' array_static_method.d(4): Error: function expected before (), not 1 of type int ---------- (OK, so the second message is bogus, but that's just a case of a long-known issue.) -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------
May 22 2009