https://gcc.gnu.org/bugzilla/show_bug.cgi?id=118722
--- Comment #2 from mauro russo <ing.russomauro at gmail dot com> --- ok, I see now the example in cppreference about special cases where, despite that static data member value is read, it is usable in constant expressions and an lvalue-to-rvalue conversion is applied to it (section "ODR-use (formal definition)" in https://en.cppreference.com/w/cpp/language/definition) Quite tricky.