// I, Howard Hinnant, hereby place this code in the public domain. // Test cast from lvalue to rvalue // { dg-do compile } // { dg-options "-std=c++0x" } template struct sa; template <> struct sa {}; struct one {char x[1];}; struct two {char x[2];}; struct A {}; one foo(const A&) {return one();} two foo(A&&) {return two();} int test1() { A a; sa t1; sa(a))) == 2> t2; return 0; } int main() { return test1(); }