[Issue 10595] New: Using alias this and a hash generates wrong code
d-bugmail at puremagic.com
d-bugmail at puremagic.com
Wed Jul 10 07:54:54 PDT 2013
http://d.puremagic.com/issues/show_bug.cgi?id=10595
Summary: Using alias this and a hash generates wrong code
Product: D
Version: D2
Platform: All
OS/Version: All
Status: NEW
Keywords: wrong-code
Severity: critical
Priority: P2
Component: DMD
AssignedTo: nobody at puremagic.com
ReportedBy: andrej.mitrovich at gmail.com
--- Comment #0 from Andrej Mitrovic <andrej.mitrovich at gmail.com> 2013-07-10 07:54:54 PDT ---
-----
struct S
{
bool b = true;
bool test()
{
if (!b) // note: must be a check, not 'return b;'
return false;
return true;
}
}
struct Wrap
{
int i;
alias i this;
S s;
}
void main()
{
{
Wrap[int] wrap;
wrap[0] = Wrap();
wrap[0].i = 0;
assert(wrap[0].s.test()); // ok
}
{
Wrap[int] wrap;
wrap[0] = Wrap();
wrap[0] = 0; // note: using 'alias this' to assign
assert(wrap[0].s.test()); // failure
}
}
-----
It doesn't appear to be a regression.
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
More information about the Digitalmars-d-bugs
mailing list