Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Glasgow Haskell Compiler
GHC
Commits
5231445e
Commit
5231445e
authored
Oct 08, 2010
by
simonpj@microsoft.com
Browse files
Fix Trac
#4360
: omitted case in combineCtLoc
parent
debb7b80
Changes
2
Hide whitespace changes
Inline
Side-by-side
compiler/typecheck/TcInteract.lhs
View file @
5231445e
...
...
@@ -999,14 +999,7 @@ doInteractWithInert
-- Fall-through case for all other situations
doInteractWithInert _ workItem = noInteraction workItem
--------------------------------------------
combineCtLoc :: CtFlavor -> CtFlavor -> WantedLoc
-- Precondition: At least one of them should be wanted
combineCtLoc (Wanted loc) _ = loc
combineCtLoc _ (Wanted loc) = loc
combineCtLoc _ _ = panic "Expected one of wanted constraints (BUG)"
-------------------------
-- Equational Rewriting
rewriteDict :: (CoVar, TcTyVar, Xi) -> (DictId, CtFlavor, Class, [Xi]) -> TcS CanonicalCt
rewriteDict (cv,tv,xi) (dv,gw,cl,xis)
...
...
compiler/typecheck/TcSMonad.lhs
View file @
5231445e
...
...
@@ -10,7 +10,7 @@ module TcSMonad (
makeGivens, makeSolved,
CtFlavor (..), isWanted, isGiven, isDerived, canRewrite,
joinFlavors
, mkGivenFlavor,
combineCtLoc
, mkGivenFlavor,
TcS, runTcS, failTcS, panicTcS, traceTcS, traceTcS0, -- Basic functionality
tryTcS, nestImplicTcS, wrapErrTcS, wrapWarnTcS,
...
...
@@ -298,12 +298,13 @@ canRewrite (Derived {}) (Derived {}) = True
canRewrite (Wanted {}) (Wanted {}) = True
canRewrite _ _ = False
joinFlavors :: CtFlavor -> CtFlavor -> CtFlavor
joinFlavors (Wanted loc) _ = Wanted loc
joinFlavors _ (Wanted loc) = Wanted loc
joinFlavors (Derived loc) _ = Derived loc
joinFlavors _ (Derived loc) = Derived loc
joinFlavors (Given loc) _ = Given loc
combineCtLoc :: CtFlavor -> CtFlavor -> WantedLoc
-- Precondition: At least one of them should be wanted
combineCtLoc (Wanted loc) _ = loc
combineCtLoc _ (Wanted loc) = loc
combineCtLoc (Derived loc) _ = loc
combineCtLoc _ (Derived loc) = loc
combineCtLoc _ _ = panic "combineCtLoc: both given"
mkGivenFlavor :: CtFlavor -> SkolemInfo -> CtFlavor
mkGivenFlavor (Wanted loc) sk = Given (setCtLocOrigin loc sk)
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment