https://gcc.gnu.org/bugzilla/show_bug.cgi?id=117761
Bug ID: 117761 Summary: Incorrect name lookup within decltype used as part of an id-expression for a class member access Product: gcc Version: 15.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: c++ Assignee: unassigned at gcc dot gnu.org Reporter: luigighiron at gmail dot com Target Milestone: --- GCC incorrectly handles name lookup within decltypes in locations such as the following: struct{int x;}x; int main(){ x.decltype(x)::x=42; } Here, the x in decltype(x) should refer to the structure x and not the member x. GCC however decides to do member lookup same as it would outside of decltype and finds the member x, which then results in GCC emitting an error because of trying to access a member named x in the type int. Clang and MSVC both accept this code.