Lines Matching refs:A
11 struct A { }; struct
12 struct B : A { };
14 struct C { explicit operator A&&(); };
21 void test(A &a, B &b) { in test()
22 A &&ar0 = static_cast<A&&>(prvalue<A>()); in test()
23 A &&ar1 = static_cast<A&&>(prvalue<B>()); in test()
24 A &&ar2 = static_cast<A&&>(lvalue<C>()); in test()
25 A &&ar3 = static_cast<A&&>(xvalue<C>()); in test()
26 A &&ar4 = static_cast<A&&>(prvalue<C>()); in test()
27 A &&ar5 = static_cast<A&&>(lvalue<D>()); in test()
28 A &&ar6 = static_cast<A&&>(xvalue<D>()); in test()
29 A &&ar7 = static_cast<A&&>(prvalue<D>()); in test()
31 …A &&ar8 = static_cast<A&&>(prvalue<const A>()); // expected-error {{binding reference of type 'A' … in test()
32 …A &&ar9 = static_cast<A&&>(lvalue<const A>()); // expected-error {{cannot cast from lvalue of typ… in test()
33 …A &&ar10 = static_cast<A&&>(xvalue<const A>()); // expected-error {{cannot cast from rvalue of typ… in test()
35 const A &&ar11 = static_cast<const A&&>(prvalue<A>()); in test()
36 const A &&ar12 = static_cast<const A&&>(prvalue<B>()); in test()
37 const A &&ar13 = static_cast<const A&&>(lvalue<C>()); in test()
38 const A &&ar14 = static_cast<const A&&>(xvalue<C>()); in test()
39 const A &&ar15 = static_cast<const A&&>(prvalue<C>()); in test()
40 const A &&ar16 = static_cast<const A&&>(lvalue<D>()); in test()
42 …const A &&ar17 = static_cast<const A&&>(prvalue<A const volatile>()); // expected-error {{binding … in test()