on master help sign in
Fix problem where added type variable names were trashed
commit912d65220c15343ab8a3423f2f884e6422a6f1da authorEvan Czaplicki <info@elm-lang.org> dateThu 29 Oct 2015, 06:37 (11 years ago) parentb70fc02
1 file changed+4−3
src/Type/Type.hs+4−3
src/Type/Type.hs+4−3
@@ -266,14 +266,15 @@ toSrcType variable =
266266variableToSrcType :: Variable -> StateT NameState IO T.Canonical
267267variableToSrcType variable =
268268 do descriptor <- liftIO $ UF.descriptor variable
269− if _mark descriptor == occursMark
269+ let mark = _mark descriptor
270+ if mark == occursMark
270271 then
271272 return (T.Var "∞")
272273
273274 else
274− do liftIO $ UF.setDescriptor variable (descriptor { _mark = occursMark })
275+ do liftIO $ UF.modifyDescriptor variable (\desc -> desc { _mark = occursMark })
275276 srcType <- contentToSrcType variable (_content descriptor)
276− liftIO $ UF.setDescriptor variable descriptor
277+ liftIO $ UF.modifyDescriptor variable (\desc -> desc { _mark = mark })
277278 return srcType
278279
279280