------- Comment #6 from jason at gcc dot gnu dot org 2009-03-03 22:31 ------- The names in 26605 make it clearer that it's about SFINAE, but that seems to be what your testcase is trying to do as well: if the compiler accepts the using, you would end up with an ambiguous call except that one of the templates is discarded because only one of the templates has a nested type named "type" for int or double arguments.
I don't see any reason why you would want to have multiple templates with the same parameters unless you were using SFINAE to remove all but one of them during the deduction phase of overload resolution. -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=21682