# HG changeset patch # User thomask # Date 1183295871 0 # Node ID 94c9f2f9af4b0b58ed355940ea3b44b0c5a0006a # Parent eb6a99028b9515bf8a112d7b9119dbecdaf9d8f7 [Issue 1259] Inline build triggers an illegal error msg "Error: S() is not an lvalue" 2007-06-06 http://d.puremagic.com/issues/show_bug.cgi?id=1259 diff -r eb6a99028b95 -r 94c9f2f9af4b run/t/tuple_25_A.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/t/tuple_25_A.d Sun Jul 01 13:17:51 2007 +0000 @@ -0,0 +1,31 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ +// @date@ 2007-06-06 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1259 +// @desc@ [Issue 1259] Inline build triggers an illegal error msg "Error: S() is not an lvalue" + +module dstress.run.t.tuple_25_A; + +struct S(T...) { + S opMul_r(double r) { + return S(); + } + + S!(1) opDiv(R)(R r) { + return S!(1)(); + } +} + +int main() { + S!(1) a; + S!(0) b; + auto c = 1.0 * a / b; + + if(S!(1)() != c){ + assert(0); + } + return 0; +} diff -r eb6a99028b95 -r 94c9f2f9af4b run/t/tuple_25_B.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/t/tuple_25_B.d Sun Jul 01 13:17:51 2007 +0000 @@ -0,0 +1,31 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ +// @date@ 2007-06-06 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1259 +// @desc@ [Issue 1259] Inline build triggers an illegal error msg "Error: S() is not an lvalue" + +module dstress.run.t.tuple_25_B; + +struct S(T...) { + S opMul_r(double r) { + return S(); + } + + S!(1) opDiv(R)(R r) { + return S!(1)(); + } +} + +int main() { + S!(1) a; + S!(0) b; + auto c = 1.0 * a; + + if(S!(1)() != c){ + assert(0); + } + return 0; +} diff -r eb6a99028b95 -r 94c9f2f9af4b run/t/tuple_25_C.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/t/tuple_25_C.d Sun Jul 01 13:17:51 2007 +0000 @@ -0,0 +1,31 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ +// @date@ 2007-06-06 +// @uri@ http://d.puremagic.com/issues/show_bug.cgi?id=1259 +// @desc@ [Issue 1259] Inline build triggers an illegal error msg "Error: S() is not an lvalue" + +module dstress.run.t.tuple_25_C; + +struct S(T...) { + S opMul_r(double r) { + return S(); + } + + S!(1) opDiv(R)(R r) { + return S!(1)(); + } +} + +int main() { + S!(1) a; + S!(0) b; + auto c = 1.0 * a / 0.5; + + if(S!(1)() != c){ + assert(0); + } + return 0; +}