// { dg-do compile } // Copyright (C) 2002 Free Software Foundation, Inc. // Contributed by Nathan Sidwell 24 Dec 2002 <nathan@codesourcery.com> // Source Martin Buchholz martin@xemacs.org // PR 9053. Failed to consider templates that are disambiguated by // return type. template <typename T> class bar; template <> struct bar<const char*> { typedef void type; }; template <typename T> class qux; template <> struct qux<int> { typedef void type; }; template <typename T> typename bar<T>::type foo (T t) { } template <typename T> typename qux<T>::type foo (T t) { } int main (int argc, char *argv[]) { foo ("foo"); foo (7); }