Skip to content

Fix #16116 by removing badAssocRhs

Ryan Scott requested to merge RyanGlScott/ghc:wip/T16116 into master

badAssocRhs is a relic of an age where we rejected type family equations with kind variables on the RHS that weren't explicitly bound on the LHS. Not only do we no longer require this (as of commit 0829821a), this is now causing problems for associated type family instances that use explicit foralls, such as the one in #16116 (closed).

Thankfully, there's a separate validity check (TcValidity.checkFamPatBinders) that already rejects occurrences of type variables on the RHS that aren't bound on the LHS, and more importantly, it doesn't have the explicit forall bug that badAssocRhs has. This means that we can fix #16116 (closed) by simply ripping out badAssocRhs.

Merge request reports