------- Additional Comments From pinskia at gcc dot gnu dot org 2005-04-07 07:06 ------- Hmm, on the mainline we reject this code: t.cc: In function 'int main()': t.cc:31: error: call of overloaded 'foo(int)' is ambiguous t.cc:7: note: candidates are: some_type<A> foo(const A&) [with A = int] t.cc:13: note: some_type<A> foo(const A&) [with R = int, A = int] t.cc:32: error: call of overloaded 'bar(int)' is ambiguous t.cc:19: note: candidates are: some_type<A> bar(const A&, const A&) [with A = int] t.cc:25: note: some_type<A> bar(const A&, const R&) [with R = int, A = int]
-- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=12536