on master help sign in
Don't switch order of arguments during unification in Type.Unify
ded277cEvan Czaplicki
src/Type/Unify.hs+2−2
@@ -203,7 +203,7 @@ actuallyUnify region variable1 variable2 = do
203 unifyHelp' v variable2
203 unifyHelp' v variable2
204
204
205 (_, Just (Var1 v)) ->
205 (_, Just (Var1 v)) ->
206− unifyHelp' v variable1
206+ unifyHelp' variable1 v
207
207
208 (Nothing, _) ->
208 (Nothing, _) ->
209 superUnify
209 superUnify
@@ -226,7 +226,7 @@ actuallyUnify region variable1 variable2 = do
226 return ()
226 return ()
227
227
228 (Record1 fields ext, EmptyRecord1) | Map.null fields -> unifyHelp' ext variable2
228 (Record1 fields ext, EmptyRecord1) | Map.null fields -> unifyHelp' ext variable2
229− (EmptyRecord1, Record1 fields ext) | Map.null fields -> unifyHelp' ext variable1
229+ (EmptyRecord1, Record1 fields ext) | Map.null fields -> unifyHelp' variable1 ext
230
230
231 (Record1 _ _, Record1 _ _) ->
231 (Record1 _ _, Record1 _ _) ->
232 recordUnify region fresh variable1 variable2
232 recordUnify region fresh variable1 variable2