git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Fix an issue with unqualified type class names
bf0e439Phil Freeman
examples/passing/TypeClasses.purs+1−1
@@ -3,7 +3,7 @@ module TypeClasses where
3class Show a where
3class Show a where
4 show :: a -> String
4 show :: a -> String
5
5
6−instance TypeClasses.Show String where
6+instance Show String where
7 show s = s
7 show s = s
8
8
9test1 = show "testing"
9test1 = show "testing"
src/Language/PureScript/TypeChecker/Types.hs+1−1
@@ -198,7 +198,7 @@ entails moduleName context goal@(className, ty) = do
198 go env (className', ty') =
198 go env (className', ty') =
199 [ App (Var (Qualified Nothing fnName)) args
199 [ App (Var (Qualified Nothing fnName)) args
200 | (fnName, subgoals, className'', ty'') <- context
200 | (fnName, subgoals, className'', ty'') <- context
201− , className' == className''
201+ , qualify moduleName className' == qualify moduleName className''
202 , subst <- maybeToList $ typeHeadsAreEqual moduleName env ty' ty''
202 , subst <- maybeToList $ typeHeadsAreEqual moduleName env ty' ty''
203 , args <- forM (replaceAllTypeVars subst subgoals) (go env) ]
203 , args <- forM (replaceAllTypeVars subst subgoals) (go env) ]
204
204