From 9528fa3e6229f36e424c5e327255694066017e10 Mon Sep 17 00:00:00 2001 From: simonpj Date: Mon, 23 Jul 2001 16:27:41 +0000 Subject: [PATCH] [project @ 2001-07-23 16:27:41 by simonpj] Wibble --- ghc/compiler/types/FunDeps.lhs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/ghc/compiler/types/FunDeps.lhs b/ghc/compiler/types/FunDeps.lhs index f06c506..e971a20 100644 --- a/ghc/compiler/types/FunDeps.lhs +++ b/ghc/compiler/types/FunDeps.lhs @@ -289,10 +289,12 @@ checkClsFD qtvs fd clas_tvs tys1 tys2 Nothing -> [] Just unif -> [ (qtvs', substTy full_unif r1, substTy full_unif r2) | (r1,r2) <- rs1 `zip` rs2, - not (maybeToBool (unifyExtendTysX qtvs' unif r1 r2))] + not (maybeToBool (unifyExtendTysX qtvs unif r1 r2))] -- Don't include any equations that already hold -- taking account of the fact that any qtvs that aren't -- already instantiated can be instantiated to anything at all + -- NB: qtvs, not qtvs' because unifyExtendTysX only tries to + -- look template tyvars up in the substitution where full_unif = mkSubst emptyInScopeSet unif -- No for-alls in sight; hmm -- 1.7.10.4