------- Comment #8 from redi at gcc dot gnu dot org 2005-10-03 17:54 ------- Aah, gotcha. I now see why the global scope has to be considered, and why DR228 is relevant. Thanks! I still think it's of dubious value having the standard defined like that, so might take it to the UK panel and see if anyone there cares about it.
Andrew, another interesting variation is to add two template arguments to the function call. Then you don't get the "wrong number of template arguments" you get one saying "invalid use of struct f", which is because it's not valid to refer to a typename there - but then everyone except the compiler already knew that! ;-) -- http://gcc.gnu.org/bugzilla/show_bug.cgi?id=24161