1 // Copyright (C) 2005 Free Software Foundation, Inc. 2 // Contributed by Nathan Sidwell 31 Mar 2005 <nathan@codesourcery.com> 3 4 // { dg-do run } 5 // DR214 6 f(int)7template <class T> T f(int) {return 0;} f(U)8template <class T, class U> T f(U){return 1;} 9 checked_cast(R const &)10template <typename T, typename R> T checked_cast (R const &) {return 0;} checked_cast(R *)11template <typename T, typename R> T checked_cast (R *) {return 1;} 12 13 main()14int main () 15 { 16 int i = 0; 17 18 if (f<int>(1)) 19 return 1; 20 21 if (checked_cast<int>(i) != 0) 22 return 2; 23 24 if (checked_cast<int>(&i) != 1) 25 return 3; 26 27 return 0; 28 } 29