1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
// PR c++/50870 // { dg-options -std=c++0x } template <class V> struct impl { template <class T> static T create(); }; template <class T, class U, class V, class = decltype(impl<V>::template create<T>() -> impl<V>::template create<U>())> struct tester { }; tester<impl<float>*, int, float> ti;