http://d.puremagic.com/issues/show_bug.cgi?id=7516
--- Comment #3 from Kenji Hara <k.hara...@gmail.com> 2012-05-10 22:56:59 PDT --- Test cases: void main() { static struct S { int val; this(int n) { val = n; } this(this) { val *= 3; } } // cond ? lvalue : lvalue S foo(bool f) { auto s1 = S(1), s2 = S(2); return f ? s1 : s2; } auto s1 = foo(true); assert(s1.val == 3); auto s2 = foo(false); assert(s2.val == 6); // cond ? rvalue : rvalue S bar(bool f) { return f ? S(1) : S(2); } auto s3 = bar(true); assert(s3.val == 1); auto s4 = bar(false); assert(s4.val == 2); // cond ? lvalue : rvalue S baz(bool f) { auto s1 = S(1); return f ? s1 : S(2); } auto s5 = baz(true); assert(s5.val == 3); auto s6 = baz(false); assert(s6.val == 2); } -- Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email ------- You are receiving this mail because: -------