Hi Perry, Ahh, sorry for my misunderstanding of the problem you are trying to solve. I read this URL on ADL... http://h21007.www2.hp.com/dspp/tech/tech_TechDocumentDetailPage_IDX/1,1701,9 90,00.html I have to say (in my best Johnny Carson voice), "I did not know that!" No bug in GCC, just a gap in my knowledge about ADL. I believe the disconnect that you are running into is that a struct or a class scope does not have all the facility of an actual, bona fide, genuine namespace. For example, I do not believe that ADL is applicable within a class or struct scope (i.e., trying to treat the class/struct scope as a namespace). Note to self: ADL *ONLY* looks at the parameters, not the arguments. (So implicit conversion does not apply.) Interesting information! Thanks, --Eljay