Based on "thou shalt not report diagnostics from source generators" (a rule the Roslyn team wrote down, but I somehow missed), I've been moving all the diagnostics over to the analyzers project. This is somewhat tedious, but it has the advantage that these rules typically apply to non-AOT projects, so everybody wins from more rules (and these are all errors, so really everybody wins at seeing problems because you even try to run your tests).