----- Original Message ----- From: "David Abrahams" <[EMAIL PROTECTED]>
> > In other words, the "void" parameter list is fundamentally different than > > "type void". > > That's not a very good test case, though. *Matching* a void parameter > could easily be different from generating one. What about: > > template <class T> struct id { typedef T type; }; > struct X > { > void f(id<void>::type); > }; > > "ComeauTest.c", line 4: warning: declaring a void parameter list with a typedef is > nonstandard > operator int(id<void>::type); > > ?? > > I'd prefer it if matching void in a parameter list *were* different > from generating one. The above prevents the use of SFINAE to generate > restricted templated conversion operators. I agree, it would be nice if it was legal, but I don't think it is. The "void" parameter list is not of type "void." Paul Mensonides _______________________________________________ Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost