I think trying to upstream patches more from head.hackage before a release and keeping track of the status of patches both sound like good ideas. Though I’m somewhat sceptical that it would be worth blocking a release over this stuff.
At the end of the day, stuff like this boils down to capacity. Redundant patches get removed when someone realises and makes an MR. head.hackage
could always benefit from more people writing patches, from more people using them, and from more people upstreaming and tracking the status of upstreamed patches.
Though it doesn’t always make sense to expect upstream patches to be released before a GHC release:
- some maintainers have a policy of waiting until after the GHC release, which is quite understandable and their prerogative.
- upstreaming too early can lead to churn, eg, #24557: Support invisible type patterns in Template Haskell quotes (e.g., [t| @a |]) · Issues · Glasgow Haskell Compiler / GHC · GitLab where we realised that a feature should be implemented a different way, but the previous version’s changes had already been applied to head.hackage.
- an upstreamable patch often takes more effort to write than one that merely works (does this patch conform to the code style of the repo?, import style?, etc)