view gcc/testsuite/g++.dg/template/template-id-1.C @ 131:84e7813d76e9

gcc-8.2
author mir3636
date Thu, 25 Oct 2018 07:37:49 +0900
parents 04ced10e8804
children
line wrap: on
line source

// Copyright (C) 2002 Free Software Foundation
// Origin: C++/1058
// Contributed by Gabriel Dos Reis <gdr@integrable-solutions.net>
// { dg-do compile }

struct A {
   typedef int Y;
   typedef double Z;
};

struct B {
   template<typename T>
   void func(typename T::Y, typename T::Z) { }
};

template<typename T>
struct X {
   void gunc();
};

template<typename T>
void X<T>::gunc()
{
   B b;
   b.func<A>(0, 3.);
}

int main()
{
   X<int> x;
   x.gunc();
   return 0;
}