1 // { dg-options -std=c++17 }
2 
3 template <class T> struct A
4 {
5   template <auto v>    struct Y;
6   template <auto* p>   struct Y<p> { using type1 = decltype (p); };
7   template <auto** pp> struct Y<pp> { using type2 = decltype (pp); };
8 };
9 
10 int i;
11 int *p;
12 
13 A<void>::Y<&i>::type1 t1;
14 A<void>::Y<&p>::type2 t2;
15 
16