https://gcc.gnu.org/bugzilla/show_bug.cgi?id=67566

--- Comment #3 from Jonathan Wakely <redi at gcc dot gnu.org> ---
(In reply to Roman Koptev from comment #2)
> That'is if I compile any program with the option -std=c++14, after including
> <string> (may be and other headers) std::move surely and always is in global
> namespace, available without std:: or using std or using std::move and this
> is surely abnormal.

No it isn't in the global namespace, it's in namespace std as required by the
C++ standard. What's happening is called Argument Dependent Lookup and is
perfectly normal.

http://en.cppreference.com/w/cpp/language/adl
https://en.wikipedia.org/wiki/Argument-dependent_name_lookup
http://stackoverflow.com/questions/8111677/what-is-argument-dependent-lookup-aka-adl-or-koenig-lookup

Reply via email to