Lines Matching refs:Opaque
11 template <unsigned n> struct Opaque {}; struct
12 template <unsigned n> void expect(Opaque<n> _) {} in expect()
30 Opaque<0> foo(Opaque<0>);
31 Opaque<0> foo(Opaque<1>);
32 Opaque<0> foo(Opaque<2>);
38 Opaque<1> foo(Opaque<1>);
39 Opaque<1> foo(Opaque<3>);
41 void test0() { Opaque<0> _ = foo(Opaque<0>()); } in test0()
42 void test1() { Opaque<1> _ = foo(Opaque<1>()); } in test1()
43 void test2() { Opaque<0> _ = foo(Opaque<2>()); } in test2()
44 void test3() { Opaque<1> _ = foo(Opaque<3>()); } in test3()
49 Opaque<1> foo(Opaque<1>);
50 Opaque<1> foo(Opaque<3>);
53 void test0() { Opaque<0> _ = foo(Opaque<0>()); } in test0()
54 void test1() { Opaque<1> _ = foo(Opaque<1>()); } in test1()
55 void test2() { Opaque<0> _ = foo(Opaque<2>()); } in test2()
56 void test3() { Opaque<1> _ = foo(Opaque<3>()); } in test3()
61 Opaque<1> foo(Opaque<0>);
63 Opaque<1> foo(Opaque<2>);
64 Opaque<1> foo(Opaque<3>);
66 void test0() { Opaque<1> _ = foo(Opaque<0>()); } in test0()
67 void test1() { Opaque<0> _ = foo(Opaque<1>()); } in test1()
68 void test2() { Opaque<1> _ = foo(Opaque<2>()); } in test2()
69 void test3() { Opaque<1> _ = foo(Opaque<3>()); } in test3()
110 template <class T> Opaque<0> foo() { return Opaque<0>(); } in foo()
111 template <int n> Opaque<1> foo() { return Opaque<1>(); } in foo()
116 …template <int n> Opaque<2> foo() { return Opaque<2>(); } // expected-note {{invalid explicitly-spe… in foo()
120 …template <int n> Opaque<2> foo() { return Opaque<2>(); } // expected-note {{invalid explicitly-spe… in foo()
126 …template <class T> Opaque<3> foo() { return Opaque<3>(); } // expected-note {{invalid explicitly-s… in foo()
130 …template <class T> Opaque<3> foo() { return Opaque<3>(); } // expected-note {{invalid explicitly-s… in foo()