https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84917
Eric Gallager <egallager at gcc dot gnu.org> changed: What |Removed |Added ---------------------------------------------------------------------------- Status|UNCONFIRMED |ASSIGNED Last reconfirmed| |2018-06-17 Ever confirmed|0 |1 --- Comment #1 from Eric Gallager <egallager at gcc dot gnu.org> --- (In reply to David Malcolm from comment #0) > In > https://www.reddit.com/r/programming/comments/84oizv/usability_improvements_in_gcc_8/dvsa8dw/ > Reddit user "rifeid" reports excess verbosity... > > > [...] when dealing with nested template data structures. For example, > > #include <string> > #include <vector> > using vec = std::vector<std::string>; > void blah() { > vec x; > x.foo(); > } > > > results in > > test.cpp: In function ‘void blah()’: > test.cpp:6:4: error: ‘using vec = class > std::vector<std::__cxx11::basic_string<char> > {aka class > std::vector<std::__cxx11::basic_string<char> >}’ has no member named ‘foo’ > x.foo(); > ^~~ > > > My issues with this: > > > > It may look better if the error: line just uses vec, and > > have the full expansion relegated to a note: line. Not sure. > > > > The expansion is printed twice. > > > > As std::string is part of the C++ standard, I'd prefer it unexpanded. > > Confirmed on godbolt.org. So, confirmed then. And ASSIGNED as with other bugs. > > I think parts of these are a dup (maybe of PR c++/84360) but it seems worth > capturing here and fixing.