Quote Originally Posted by Chris_F
I have no idea (yet) what argument dependent lookup is, but that sure seems to be the problem and solution.
Basically, as the call of operator>> within lexical_cast is unqualified, the name lookup also considers namespaces that the types of the arguments are from. As such, to overload operator>> for glm:etail::tvec2<T> to read from input streams, it is best to do so within the glm:etail namespace. Unfortunately, that namespace is reserved, by convention, to GLM developers working on GLM implementation detail.