------- Comment #12 from igodard at pacbell dot net  2006-04-20 09:28 -------
I don't think that the problem is in the STL. The STL can be as tricky as it
wants, including use of operator,(). It should not be possible for the actual
operator,()s I declared to hijack the STL the way that happened, because 1) my
declarations were out of scope for the STL code and 2) their signatures did not
match the STL call site. This suggests a compiler bug to me, not an STL
mis-design. 

A bug for this operator is not unlikely, because operator,() has unusual
semantics that would force non-standard handling within the compiler, and the
special code for it is probably not exercised as well as the main operator
invocation path. It certinly looks to me like a template that uses operator,()
that is defined before a second declaration of that operator but instantiated
after the second declaration is seeing the second dec when parsing the body of
the instantiation

Ivan


-- 


http://gcc.gnu.org/bugzilla/show_bug.cgi?id=26974

Reply via email to