view gcc/testsuite/g++.dg/template/typename12.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

// { dg-do compile }

// Copyright (C) 2007 Free Software Foundation, Inc.
// Contributed by Nathan Sidwell 21 Jul 2007 <nathan@codesourcery.com>

// Origin: sschunck@pdf.de
// PR 30818, failure to resolve typename typedef

template < typename T > 
class A 
{
  typedef int type;
  class B;
};

template < typename T >
class A<T>::B
{
  typedef typename A<T>::type type;
  type f();
};

template < typename T >
typename A<T>::B::type 
A<T>::B::f() { return 0; }