https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90412
Bug ID: 90412 Summary: g++ suggest did you mean for namespace Product: gcc Version: unknown Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: jg at jguk dot org Target Milestone: --- Could g++ suggest 'std::vector' when only 'vector' was typed? Clang does. g++ trunk doesn't. #include <vector> typedef vector<int> myvec_t; int main() { myvec_t v; } #1 with x86-64 gcc (trunk) <source>:3:9: error: 'vector' does not name a type 3 | typedef vector<int> myvec_t; | ^~~~~~ <source>: In function 'int main()': <source>:7:5: error: 'myvec_t' was not declared in this scope 7 | myvec_t v; | ^~~~~~~ Compiler returned: 1 Clang trunk does suggest :- #1 with x86-64 clang (trunk) <source>:3:9: error: no template named 'vector'; did you mean 'std::vector'? typedef vector<int> myvec_t; ^~~~~~ std::vector /opt/compiler-explorer/gcc-8.3.0/lib/gcc/x86_64-linux-gnu/8.3.0/../../../../include/c++/8.3.0/bits/stl_vector.h:339:11: note: 'std::vector' declared here class vector : protected _Vector_base<_Tp, _Alloc> ^ 1 error generated. Compiler returned: 1