// PR c++/54359 | |
// { dg-require-effective-target c++11 } | |
int& ref(int& x) { return x; } | |
const int& ref(const int& x) { return x; } | |
class A { | |
int x; | |
int f() const; | |
auto test1() const -> decltype(this); | |
auto test2() const -> decltype(ref(x)); | |
auto test3() const -> decltype(f()); | |
}; | |
auto A::test1() const -> decltype(this) { | |
return this; | |
} | |
auto A::test2() const -> decltype(ref(x)) { | |
return ref(x); | |
} | |
auto A::test3() const -> decltype(f()) { | |
return f(); | |
} |