https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84895
Bug ID: 84895 Summary: Smarter suggestions for "private" accessor hints Product: gcc Version: 8.0 Status: UNCONFIRMED Keywords: diagnostic Severity: normal Priority: P3 Component: c++ Assignee: dmalcolm at gcc dot gnu.org Reporter: dmalcolm at gcc dot gnu.org Target Milestone: --- In a discussion about g++ 8's ability to suggest accessor fix-it hints for erroneous uses of private fields, Hacker News user "vmarsy" commented: > I wonder how smart it is. > For instance in the following example: class foo { public: std::pair<int, int> get_coordinates() const { return std::make_pair(m_x, m_y); } private: int m_x; int m_y; }; void test(foo *ptr) { if (ptr->m_x >= 3) ;// etc } > I wonder if the compiler would be able to figure out that m_x is > accessible via `ptr->get_coordinates().first` ? It isn't yet, but that's probably implementable (hence this bug), though I wonder how much we want to do so, and if it would all be special-cases for idiomatic C++ constructions? Are there other examples?