template struct Str { static int const val; }; template int const Str::val = 3; void f(void) { int const x = Str::val; } // previously compiling this caused an assert in the extractor.