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

// Origin: Ivan Godard <igodard@pacbell.net>
//	   Wolfgang Bangerth <bangerth@dealii.org>

// PR c++/17344: Substitution failure is not an error
// for default template argument

template <class> struct intTraits; 
 
template<> struct intTraits<int> { 
    static const int i = 0; 
}; 
 
template<typename E, E i = intTraits<E>::i> struct A {}; 
 
struct S { 
    template <template <typename> class X> S(X<void>); 
}; 
 
int bar(S); 
int bar(A<int,0>); 
 
A<int> bed; 
int i = bar(bed);