Repository : ssh://darcs.haskell.org//srv/darcs/ghc On branch : master
http://hackage.haskell.org/trac/ghc/changeset/522a1552d0546458bb1c0ff7052175606ac36d99 >--------------------------------------------------------------- commit 522a1552d0546458bb1c0ff7052175606ac36d99 Author: Simon Peyton Jones <[email protected]> Date: Tue Oct 2 08:31:31 2012 +0100 Comments, and unused import >--------------------------------------------------------------- compiler/typecheck/FamInst.lhs | 1 - compiler/typecheck/TcEvidence.lhs | 9 +++++---- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/compiler/typecheck/FamInst.lhs b/compiler/typecheck/FamInst.lhs index 2758890..45ef026 100644 --- a/compiler/typecheck/FamInst.lhs +++ b/compiler/typecheck/FamInst.lhs @@ -26,7 +26,6 @@ import Name import Module import Outputable import UniqFM -import VarSet import FastString import Util import Maybes diff --git a/compiler/typecheck/TcEvidence.lhs b/compiler/typecheck/TcEvidence.lhs index 0c31bc0..b160c32 100644 --- a/compiler/typecheck/TcEvidence.lhs +++ b/compiler/typecheck/TcEvidence.lhs @@ -508,16 +508,17 @@ We do quite often need to get a TcCoercion from an EvTerm; see INVARIANT: The evidence for any constraint with type (t1~t2) is a coercion evidence term. Consider for example - [G] g :: F Int a + [G] d :: F Int a If we have ax7 a :: F Int a ~ (a ~ Bool) then we do NOT generate the constraint - [G} (g |> ax7 a) :: a ~ Bool -because that does not satisfy the invariant. Instead we make a binding + [G} (d |> ax7 a) :: a ~ Bool +because that does not satisfy the invariant (d is not a coercion variable). +Instead we make a binding g1 :: a~Bool = g |> ax7 a and the constraint [G] g1 :: a~Bool -See Trac [7238] +See Trac [7238] and Note [Bind new Givens immediately] in TcSMonad Note [EvBinds/EvTerm] ~~~~~~~~~~~~~~~~~~~~~ _______________________________________________ Cvs-ghc mailing list [email protected] http://www.haskell.org/mailman/listinfo/cvs-ghc
