https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104437
--- Comment #1 from Jan Engelhardt <jengelh at inai dot de> --- Due to http://eel.is/c++draft/diff.cpp17.class#2 , it's probably going to be (b). However, adding inline, i.e. inline S<Base>() {} makes it compile again, so that case.. might be improperly rejected.