Lines Matching refs:Opaque
9 template <unsigned n> struct Opaque {}; struct
10 template <unsigned n> void expect(Opaque<n> _) {} in expect()
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>()); } in test0()
40 void test1() { Opaque<1> _ = foo(Opaque<1>()); } in test1()
41 void test2() { Opaque<0> _ = foo(Opaque<2>()); } in test2()
42 void test3() { Opaque<1> _ = foo(Opaque<3>()); } in test3()
47 Opaque<1> foo(Opaque<1>);
48 Opaque<1> foo(Opaque<3>);
51 void test0() { Opaque<0> _ = foo(Opaque<0>()); } in test0()
52 void test1() { Opaque<1> _ = foo(Opaque<1>()); } in test1()
53 void test2() { Opaque<0> _ = foo(Opaque<2>()); } in test2()
54 void test3() { Opaque<1> _ = foo(Opaque<3>()); } in test3()
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>()); } in test0()
65 void test1() { Opaque<0> _ = foo(Opaque<1>()); } in test1()
66 void test2() { Opaque<1> _ = foo(Opaque<2>()); } in test2()
67 void test3() { Opaque<1> _ = foo(Opaque<3>()); } in test3()
108 template <class T> Opaque<0> foo() { return Opaque<0>(); } in foo()
109 template <int n> Opaque<1> foo() { return Opaque<1>(); } in foo()
114 …template <int n> Opaque<2> foo() { return Opaque<2>(); } // expected-note {{invalid explicitly-spe… in foo()
118 …template <int n> Opaque<2> foo() { return Opaque<2>(); } // expected-note {{invalid explicitly-spe… in foo()
124 …template <class T> Opaque<3> foo() { return Opaque<3>(); } // expected-note {{invalid explicitly-s… in foo()
128 …template <class T> Opaque<3> foo() { return Opaque<3>(); } // expected-note {{invalid explicitly-s… in foo()