3 // Copyright (C) 2002 Free Software Foundation, Inc.
4 // Contributed by Nathan Sidwell 24 Dec 2002 <nathan@codesourcery.com>
6 // PR 8702. Failure to match templates.
8 template <typename X> struct C1{};
12 template<typename Y> operator C1<Y>();
13 template<typename Y> operator C2<Y>();
16 template<typename X> template<typename Y>
17 C2<X>::operator C1<Y>()
22 struct A { // { dg-message "defined here" }
23 operator int (); // { dg-message "operator" }
24 operator float (); // { dg-message "operator" }
25 operator float () const; // { dg-message "operator" }
26 template <typename T> operator T * (); // { dg-message "operator" }
29 A::operator short () { // { dg-error "no declaration matches" }