https://gcc.gnu.org/bugzilla/show_bug.cgi?id=90880
--- Comment #3 from Federico Kircheis <federico.kircheis at gmail dot com> --- (In reply to Jonathan Wakely from comment #2) > (In reply to Federico Kircheis from comment #1) > > After researching a little bit more, I've convinced myself that > > `status<c1>::value` should be false, as `decltype` has no special rules for > > accessing private data, thus clang is correct. > > Agreed. And G++ should accept it. Thank you. Sorry if linking to external bug trackers in comments is bad practice, but I did not saw any rule about it. Since it could be interesting for those having this issue, here is the bug report for MSVC: https://developercommunity.visualstudio.com/content/problem/607019/incorrect-decltype-on-non-public-member-variables.html