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