https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116121
--- Comment #1 from Jason Liam <jlame646 at gmail dot com> --- Note that the error only comes when we use `inline` with the static data member. If we use the old out of class definition way of doing things then gcc also starts accepting the code. https://godbolt.org/z/GeYqcPfzs ``` #include <iostream> #include <iomanip> //wrapper template<typename T> struct Wrapper { static T value; }; template<typename T> T Wrapper<T>::value{}; template<> int Wrapper<int>::value = 42; //gcc accepts now int main() { } ```