Home | History | Annotate | Download | only in namespace.udecl

Lines Matching full:opaque

9 template <unsigned n> struct Opaque {};
10 template <unsigned n> void expect(Opaque<n> _) {}
28 Opaque<0> foo(Opaque<0>);
29 Opaque<0> foo(Opaque<1>);
30 Opaque<0> foo(Opaque<2>);
36 Opaque<1> foo(Opaque<1>);
37 Opaque<1> foo(Opaque<3>);
39 void test0() { Opaque<0> _ = foo(Opaque<0>()); }
40 void test1() { Opaque<1> _ = foo(Opaque<1>()); }
41 void test2() { Opaque<0> _ = foo(Opaque<2>()); }
42 void test3() { Opaque<1> _ = foo(Opaque<3>()); }
47 Opaque<1> foo(Opaque<1>);
48 Opaque<1> foo(Opaque<3>);
51 void test0() { Opaque<0> _ = foo(Opaque<0>()); }
52 void test1() { Opaque<1> _ = foo(Opaque<1>()); }
53 void test2() { Opaque<0> _ = foo(Opaque<2>()); }
54 void test3() { Opaque<1> _ = foo(Opaque<3>()); }
59 Opaque<1> foo(Opaque<0>);
61 Opaque<1> foo(Opaque<2>);
62 Opaque<1> foo(Opaque<3>);
64 void test0() { Opaque<1> _ = foo(Opaque<0>()); }
65 void test1() { Opaque<0> _ = foo(Opaque<1>()); }
66 void test2() { Opaque<1> _ = foo(Opaque<2>()); }
67 void test3() { Opaque<1> _ = foo(Opaque<3>()); }
108 template <class T> Opaque<0> foo() { return Opaque<0>(); }
109 template <int n> Opaque<1> foo() { return Opaque<1>(); }
114 template <int n> Opaque<2> foo() { return Opaque<2>(); } // expected-note {{invalid explicitly-specified argument for template parameter 'n'}}
118 template <int n> Opaque<2> foo() { return Opaque<2>(); } // expected-note {{invalid explicitly-specified argument for template parameter 'n'}}
124 template <class T> Opaque<3> foo() { return Opaque<3>(); } // expected-note {{invalid explicitly-specified argument for template parameter 'T'}}
128 template <class T> Opaque<3> foo() { return Opaque<3>(); } // expected-note {{invalid explicitly-specified argument for template parameter 'T'}}