----- Original Message ----- 
From: "Paul Mensonides" <[EMAIL PROTECTED]>

> Actually, this seems to be a bug in Comeau C++:
> 
> #include <iostream>
> #include <typeinfo>
> 
> struct A {
>     enum type { x, y };
> };
> 
> template<int> struct B { };
> 
> template<class T> inline T operator+(T lhs, T rhs) {
>     throw 0;
> }
> 
> int main() try {
>     std::cout
>         << typeid( B<A::x + A::y> ).name() << &std::endl
>                        // ^
>                        // Comeau C++ doesn't flag this,
>                        // but I think it should.
>                        // Am I wrong here?
>         << A::x + A::y << &std::endl;
> }
> catch (int) {
>     std::cout << "template operator used" << &std::endl;
>     return 0;
> }

FYI, I submitted this bug to the EDG guys.

Paul Mensonides
_______________________________________________
Unsubscribe & other changes: http://lists.boost.org/mailman/listinfo.cgi/boost

Reply via email to