https://gcc.gnu.org/bugzilla/show_bug.cgi?id=116728
--- Comment #6 from Hime Haieto <himehaieto at gmail dot com> --- I was pretty sure the first example in the attachment to this PR was something that should work (less so about the second), though something something standardese something something language lawyers. Especially to one that doesn't even have the final spec when various subtleties were under frequent refinement, it can be hard to know what's supposed to be valid. I remember seeing some stuff suggesting that the rules would be different if it was something completed in the same vs a different translation unit, for instance, and I'm just a passerby to the spec. Your point about whether the spec is perfect is well understood, but that's what c2y/c2z/hopes/dreams are for, and what matters here is just what the spec states rather than what it "should". That being said, I'm normally rigid about forward declaring *everything* even when the definition is literally one line further down (don't judge!), so now I'm kinda wondering if there may have been a cvise reduction issue here.