on master help sign in
Merge pull request #1140 from elm-lang/dev

Fix problem where added type variable names were trashed

commitbf4590e0d915544b338ec910d59c2c09b86b0063 authorEvan Czaplicki <info@elm-lang.org> dateThu 29 Oct 2015, 13:00 (11 years ago) parentb70fc02912d652
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