3 template<typename T
> class Vector
{
5 void push_back(const T
&);
8 template<typename T
> class List
;
9 template<> class List
<bool> {
15 template<typename T
> class Set
{
21 constexpr unsigned List
<int>::*size_right
= &List
<int>::size
;
22 List
<int> list_right
= { 0, 12 };
23 typedef List
<int> ListInt_right
;
26 void pendingInstantiationEmit(T
) {}
27 void triggerPendingInstantiationToo() {
28 pendingInstantiationEmit(12);
31 void redeclDefinitionEmit(){}
33 typedef Outer
<int>::Inner OuterIntInner_right
;
35 int defineListDoubleRight() {
41 inline void defineListLongRight() {
45 template<typename T
> struct MergePatternDecl
;
47 void outOfLineInlineUseRightF(void (OutOfLineInline
<int>::*)() = &OutOfLineInline
<int>::f
);
48 void outOfLineInlineUseRightG(void (OutOfLineInline
<int>::*)() = &OutOfLineInline
<int>::g
);
49 void outOfLineInlineUseRightH(void (OutOfLineInline
<int>::*)() = &OutOfLineInline
<int>::h
);
51 inline int *getStaticDataMemberRight() {
52 return WithUndefinedStaticDataMember
<int[]>::undefined
;
55 inline WithAttributes
<int> make_with_attributes_right() { return WithAttributes
<int>(); }