http://gcc.gnu.org/bugzilla/show_bug.cgi?id=29131
Marc Glisse <marc.glisse at normalesup dot org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |marc.glisse at normalesup | |dot org --- Comment #24 from Marc Glisse <marc.glisse at normalesup dot org> 2012-04-26 19:14:45 UTC --- (In reply to comment #22) > I am sorry if my knowledge on this issue is limited, but if I put t() and f() > in namespace glm (re. the code in comment #20), should this compile? (That is > what you comment #19 implies). Actually it does not. So you are talking about this? Notice how vec3 isn't actually in glm. Interactions between namespaces and name lookup can be difficult. namespace glm { namespace detail { struct vec3{}; } using detail::vec3; } template<class T> int t(T i) { return f (i); } namespace glm { int f (glm::vec3 i) { return 0; } } int main() { glm::vec3 b; return t(b); }