----- 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

Reply via email to