Extension shuffling (#23291)
Fixed #23291
I introduced 4 new extensions (PatternSignatures, ExtendedForAllScope, MethodTypeVariables, ImplicitForAll) and new warning (-Wpattern-signature-binds), so I did this part of proposal #448
The changes are accordant with the proposal, except -XNoImplicitForAll
also throws error when there is type variable binding in pattern signature:
ghci> f (a :: t) = a
<interactive>:6:4: error: [GHC-78543]
Unbound type variable: ‘t’
Suggested fix: Perhaps you intended to use ImplicitForAll
IMO, that's the right behavior of this extension, but we can discuss this.