on master help sign in
Do not alias built-in types like Int and Float

Fixes the issue sort of side-reported in #911 by @mgold

commitd7ce6b1f46d49a08b59d8fa77adf602f017f4db7 authorEvan Czaplicki <info@elm-lang.org> dateSun 19 Apr 2015, 18:00 (12 years ago) parent77961c3
1 file changed+7−2
src/Type/Type.hs+7−2
src/Type/Type.hs+7−2
@@ -375,8 +375,13 @@ variableToSrcType rootVariable variable =
375375 return srcType
376376
377377 Just (name, args) ->
378− do args' <- mapM (\(arg,tvar) -> (,) arg <$> variableToSrcType rootVariable tvar) args
379− return (T.Aliased name args' (T.Filled srcType))
378+ case srcType of
379+ T.Type (Var.Canonical Var.BuiltIn _) ->
380+ return srcType
381+
382+ _ ->
383+ do args' <- mapM (\(arg,tvar) -> (,) arg <$> variableToSrcType rootVariable tvar) args
384+ return (T.Aliased name args' (T.Filled srcType))
380385 where
381386 backupSrcType :: Descriptor -> IO T.CanonicalType
382387 backupSrcType desc =