on master help sign in
Do not alias built-in types like Int and Float
d7ce6b1Evan Czaplicki
src/Type/Type.hs+7−2
@@ -375,8 +375,13 @@ variableToSrcType rootVariable variable =
375 return srcType
375 return srcType
376
376
377 Just (name, args) ->
377 Just (name, args) ->
378+ case srcType of
379+ T.Type (Var.Canonical Var.BuiltIn _) ->
380+ return srcType
381+
382+ _ ->
378− do args' <- mapM (\(arg,tvar) -> (,) arg <$> variableToSrcType rootVariable tvar) args
383+ do args' <- mapM (\(arg,tvar) -> (,) arg <$> variableToSrcType rootVariable tvar) args
379− return (T.Aliased name args' (T.Filled srcType))
384+ return (T.Aliased name args' (T.Filled srcType))
380 where
385 where
381 backupSrcType :: Descriptor -> IO T.CanonicalType
386 backupSrcType :: Descriptor -> IO T.CanonicalType
382 backupSrcType desc =
387 backupSrcType desc =