https://gcc.gnu.org/bugzilla/show_bug.cgi?id=83503
--- Comment #16 from Martin Sebor <msebor at gcc dot gnu.org> --- (In reply to Jason Merrill from comment #4) Jason, I'm only starting to look into it but if I understand your suggestion correctly, I don't think the bug can be fixed by relying on attribute exclusions. Based on the test cases alone (I haven't yet stepped through the code) the underlying problem seems to be that explicit specializations "inherit" attributes from their primary template rather than starting with a clean slate.