Thread overview | |||||||
---|---|---|---|---|---|---|---|
|
September 23, 2012 [Issue 8709] New: toLower on alias this | ||||
---|---|---|---|---|
| ||||
http://d.puremagic.com/issues/show_bug.cgi?id=8709 Summary: toLower on alias this Product: D Version: D2 Platform: All OS/Version: All Status: NEW Severity: normal Priority: P2 Component: Phobos AssignedTo: nobody@puremagic.com ReportedBy: luka8088@owave.net --- Comment #0 from luka8088 <luka8088@owave.net> 2012-09-23 02:58:17 PDT --- // it used to work in DMD2 0.57 module program; import std.stdio; import std.string; struct myStruct { alias value this; string value; } void main () { myStruct s1; s1.value = "Test"; writeln(s1); // outputs "Test" writeln(s1.toLower()); // phobos/std/string.d(871): Error: e2ir: cannot cast result of type char[] to type myStruct } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
September 23, 2012 [Issue 8709] toLower on alias this | ||||
---|---|---|---|---|
| ||||
Posted in reply to luka8088 | http://d.puremagic.com/issues/show_bug.cgi?id=8709 Jonathan M Davis <jmdavisProg@gmx.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |jmdavisProg@gmx.com Component|Phobos |DMD --- Comment #1 from Jonathan M Davis <jmdavisProg@gmx.com> 2012-09-23 03:40:50 PDT --- Reduced test case: struct S { alias value this; string value; } void main () { auto s = S("hello"); char[] arr = "world".dup; s = cast(S)"other"; s = cast(S)arr; } The cast from string to S works, but the cast from char[] to S does not, in spite of the fact that their only difference is constness. However, the fact that this came up with std.string.toLower just highlights how error-prone it is to use alias this with templated functions. It's insanely easy to have template constraints which pass just fine due to the presense of alias this but then fail to actually compile or which behave bizarrely due to when conversions do and don't happen. I don't know what the solution to that is though. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 04, 2012 [Issue 8709] toLower on alias this | ||||
---|---|---|---|---|
| ||||
Posted in reply to luka8088 | http://d.puremagic.com/issues/show_bug.cgi?id=8709 --- Comment #2 from github-bugzilla@puremagic.com 2012-10-04 11:55:10 PDT --- Commits pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/d028ef99edd51684f99749d9a2172f95b992c955 fix issue 8709, from documentation https://github.com/D-Programming-Language/phobos/commit/bbdbfc7bc0aad1d744b709188e71add3aa27f94a Merge pull request #823 from monarchdodra/toAA fix issue 8709, from documentation -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 04, 2012 [Issue 8709] toLower on alias this | ||||
---|---|---|---|---|
| ||||
Posted in reply to luka8088 | http://d.puremagic.com/issues/show_bug.cgi?id=8709 monarchdodra@gmail.com changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |monarchdodra@gmail.com --- Comment #3 from monarchdodra@gmail.com 2012-10-04 12:51:09 PDT --- (In reply to comment #2) > Commits pushed to master at https://github.com/D-Programming-Language/phobos > > https://github.com/D-Programming-Language/phobos/commit/d028ef99edd51684f99749d9a2172f95b992c955 fix issue 8709, from documentation > > https://github.com/D-Programming-Language/phobos/commit/bbdbfc7bc0aad1d744b709188e71add3aa27f94a Merge pull request #823 from monarchdodra/toAA > > fix issue 8709, from documentation Typo in fix number, The above has NOTHING to do with this. Sorry. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
October 04, 2012 [Issue 8709] toLower on alias this | ||||
---|---|---|---|---|
| ||||
Posted in reply to luka8088 | http://d.puremagic.com/issues/show_bug.cgi?id=8709 --- Comment #4 from github-bugzilla@puremagic.com 2012-10-04 13:15:44 PDT --- Commit pushed to master at https://github.com/D-Programming-Language/phobos https://github.com/D-Programming-Language/phobos/commit/08722ad38a6f38eeade54a55102153b9765f13c1 Revert "fix issue 8709, from documentation" This reverts commit d028ef99edd51684f99749d9a2172f95b992c955. This is causing the build to fail and needs to be fixed before being merged in again. -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- |
Copyright © 1999-2021 by the D Language Foundation