Skip to content

Use FlexibleInstances for `Outputable (* p)` instead of match-all instances with equality constraints

Sebastian Graf requested to merge wip/flexible-outputable into master

Commit message:

In #17304 (closed), Richard and Simon dicovered that using -XFlexibleInstances for Outputable instances of AST data types means users can provide orphan Outputable instances for passes other than GhcPass.

Type inference doesn't currently to suffer, and Richard gave an example in #17304 (closed) that shows how rare a case would be where the slightly worse type inference would matter.

So I went ahead with the refactoring, attempting to fix #17304 (closed).

Merge request reports