Can we add a new StableLintExpectationId
type so we can statically prevent the Unstable
case? Then we'd have enum LintExpectationId { Unstable { attr_id, lint_index }, Stable(StableLintExpectationId) }
, would be a slight pain to rewrite but mostly mechanical.
Might make sense to do it for the return type of normalize()
too so we don't accidentally hash the attr_id
; that seems worse since it will only invalidate the incremental cache but not be obvious that it's a bug.
Originally posted by @jyn514 in #101620 (comment)