Let me suggest an extreme example, as a thought experiment. Suppose that a new feature, say, FrobnicateTypes
, allowed users to write unsafeCoerce
. And now suppose a check were added to GHC to disallow precisely those cases where users were writing unsafeCoerce
. Would we want a deprecation cycle specifically for people who made use of what seems to me an evident soundness bug in the feature? I think we would not, and that suggests to me that there’s a continuum between “bug-like” and “unintended-feature-like” which requires a little care in evaluating in each specific case.
2 Likes