Home | History | Annotate | Download | only in Inputs
      1 @import templates_top;
      2 
      3 template<typename T> class Vector {
      4 public:
      5   void push_back(const T&);
      6 };
      7 
      8 template<typename T> class List;
      9 template<> class List<bool> {
     10 public:
     11   void push_back(int);
     12 };
     13 
     14 namespace N {
     15   template<typename T> class Set {
     16   public:
     17     void insert(T);
     18   };
     19 }
     20 
     21 constexpr unsigned List<int>::*size_right = &List<int>::size;
     22 List<int> list_right = { 0, 12 };
     23 typedef List<int> ListInt_right;
     24 
     25 template <typename T>
     26 void pendingInstantiationEmit(T) {}
     27 void triggerPendingInstantiationToo() {
     28   pendingInstantiationEmit(12);
     29 }
     30 
     31 void redeclDefinitionEmit(){}
     32 
     33 typedef Outer<int>::Inner OuterIntInner_right;
     34 
     35 int defineListDoubleRight() {
     36   List<double> ld;
     37   ld.push_back(0.0);
     38   return ld.size;
     39 }
     40 
     41 inline void defineListLongRight() {
     42   List<long> ll;
     43 }
     44 
     45 template<typename T> struct MergePatternDecl;
     46 
     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);
     50 
     51 inline int *getStaticDataMemberRight() {
     52   return WithUndefinedStaticDataMember<int[]>::undefined;
     53 }
     54