Make sure rigid type variables stay rigid in recursive definitions
Fix https://github.com/elm/compiler/issues/1743
commitaf37341a2969ed5a8391adb95cf094e24673c2d7
authorEvan Czaplicki <evancz@users.noreply.github.com>
dateWed 8 Aug 2018, 16:34 (8 years ago)
parent31396e5
compiler/src/Type/Constrain/Expression.hs+1−1
@@ -668,7 +668,7 @@ recDefsHelp rtv defs bodyCon rigidInfo flexInfo =
668668 recDefsHelp rtv otherDefs bodyCon
669669 ( Info
670670 { _vars = Map.foldr (:) rigidVars newRigids
671− , _cons = defCon : rigidCons
671+ , _cons = CLet (Map.elems newRigids) [] Map.empty defCon CTrue : rigidCons
672672 , _headers = Map.insert name (A.At region tipe) rigidHeaders
673673 }
674674 )