1 // PR c++/82664
2 
3 template < typename > struct target_disambiguator;
4 template < typename R, typename A1 > struct target_disambiguator< R(A1) > {
5   typedef A1 type;
6   template < R (&)() > struct layout;
7 };
8 
9 int main() {
10   typedef target_disambiguator< void (int) > ::type target_type ;
11 }
12