git.iko.soy/rowtype-yoga/purescript-native
on golang help sign in
Fix #267
commit2fcd178611b2bd15de783572c52f677ab03a0c44 authorPhil Freeman <paf31@cantab.net> dateSun 9 Mar 2014, 11:18 (13 years ago) parentab66a43
2 files changed+12−2
examples/passing/TypeSynonymInData.purs+9 src/Language/PureScript/TypeChecker/Types.hs+3−2
examples/passing/TypeSynonymInData.pursnew file+9
@@ -0,0 +1,9 @@
1+module Main where
2+
3+type A a = [a]
4+
5+data Foo a = Foo (A a) | Bar
6+
7+foo (Foo []) = Bar
8+
9+main = Debug.Trace.trace "Done"
src/Language/PureScript/TypeChecker/Types.hs+3−2
@@ -583,8 +583,9 @@ inferBinder val (ConstructorBinder ctor binders) = do
583583 env <- getEnv
584584 case M.lookup ctor (dataConstructors env) of
585585 Just (_, ty) -> do
586− (_, fn) <- instantiatePolyTypeWithUnknowns (error "Data constructor types cannot contains constraints") ty
587− go binders fn
586+ (_, fn) <- instantiatePolyTypeWithUnknowns (error "Data constructor types cannot contain constraints") ty
587+ fn' <- replaceAllTypeSynonyms fn
588+ go binders fn'
588589 where
589590 go [] ty' = do
590591 _ <- subsumes Nothing val ty'