1 // PR c++/69694
2 // This is a reduced version of decltype74.C.
3 // { dg-do compile { target c++11 } }
4 
5 template<typename... Ts> using void_t = void;
6 
7 extern void *declval_void;
8 
9 template<typename, typename> struct Fun { };
10 
11 template<typename Desc>
12 struct Fun<Desc, void_t<decltype (declval_void = Desc::name)>>
13 {
14   void fun();
15 };
16 
17 struct Tag { static constexpr void* name = 0; };
18 
19 template<typename> void a()
20 {
21   Fun<Tag, void>{}.fun();
22 }
23 
24 void b() { a<int>(); }
25