1 // PR c++/40306, c++/40307
2 // { dg-options "-std=c++0x" }
3 // { dg-do run }
4 
5 template< typename T >
6 struct test {
runtest7    test run() {
8       auto tmp = *this;
9       return tmp;
10    }
run_passtest11    test run_pass() {
12       test tmp( *this );
13       return tmp;
14    }
15 
run_failtest16    test run_fail() {
17       auto tmp( *this );
18       return tmp;
19    }
20 };
21 
main()22 int main()
23 {
24    test<int> x;
25    x.run();
26    x.run_pass();
27    x.run_fail();
28    return 0;
29 }
30