on master help sign in
Move closer to properly reporting infinite types
5dabd20Evan Czaplicki
src/Type/Solve.hs+3−2
@@ -243,12 +243,13 @@ occurs (_name, variable) =
243
243
244 var : _ ->
244 var : _ ->
245 do desc <- liftIO $ UF.descriptor var
245 do desc <- liftIO $ UF.descriptor var
246+ let region = error "TODO:occurs"
246 case structure desc of
247 case structure desc of
247 Nothing ->
248 Nothing ->
248− error "occurs check triggered"
249+ TS.addError region (Error.InfiniteType undefined (error "TODO:occurs"))
249
250
250 Just _ ->
251 Just _ ->
251− error "occurs check triggered"
252+ TS.addError region (Error.InfiniteType undefined (error "TODO:occurs"))
252 where
253 where
253 infiniteVars :: [Variable] -> Variable -> IO [Variable]
254 infiniteVars :: [Variable] -> Variable -> IO [Variable]
254 infiniteVars seen var =
255 infiniteVars seen var =