// PR c++/48453, DR 1287 | |
// { dg-do compile { target c++11 } } | |
template<class T> | |
T&& create(); | |
template<class T, class Arg> | |
void test() { | |
T t(create<Arg>()); | |
(void) t; | |
} | |
template<class T> | |
struct To { | |
explicit operator T(); | |
}; | |
int main() | |
{ | |
test<int&, To<int&>>(); | |
test<int&&, To<int&&>>(); | |
} |