https://gcc.gnu.org/bugzilla/show_bug.cgi?id=84453
--- Comment #3 from Jason Merrill <jason at gcc dot gnu.org> --- Hmm, seems like the attribute-less variant isn't being found by type_hash_canon for some reason. I guess because nothing actually uses it, so GC discards it, because the type table has been marked as "cache". For GCC 8 we can probably just drop the assert.