view gcc/testsuite/g++.dg/template/typename12.C @ 145:1830386684a0

gcc-9.2.0
author anatofuz
date Thu, 13 Feb 2020 11:34:05 +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; }