From e3c08446964aabc8f8048409fb7a57fc28d75ae3 Mon Sep 17 00:00:00 2001 From: Pit Capitain Date: Thu, 4 Jun 2026 07:33:35 +0200 Subject: [PATCH] Fix Duplicate(Alias|Union)Arg error message --- compiler/src/Canonicalize/Environment/Local.hs | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/compiler/src/Canonicalize/Environment/Local.hs b/compiler/src/Canonicalize/Environment/Local.hs index 48207bf17..248fa4f82 100644 --- a/compiler/src/Canonicalize/Environment/Local.hs +++ b/compiler/src/Canonicalize/Environment/Local.hs @@ -187,13 +187,13 @@ getEdges edges (A.At _ tipe) = checkUnionFreeVars :: A.Located Src.Union -> Result i w Int checkUnionFreeVars (A.At unionRegion (Src.Union (A.At _ name) args ctors)) = let - addArg (A.At region arg) dict = + addArg dict (A.At region arg) = Dups.insert arg region region dict addCtorFreeVars (_, tipes) freeVars = List.foldl' addFreeVars freeVars tipes in - do boundVars <- Dups.detect (Error.DuplicateUnionArg name) (foldr addArg Dups.none args) + do boundVars <- Dups.detect (Error.DuplicateUnionArg name) (List.foldl' addArg Dups.none args) let freeVars = foldr addCtorFreeVars Map.empty ctors case Map.toList (Map.difference freeVars boundVars) of [] -> @@ -207,10 +207,10 @@ checkUnionFreeVars (A.At unionRegion (Src.Union (A.At _ name) args ctors)) = checkAliasFreeVars :: A.Located Src.Alias -> Result i w [Name.Name] checkAliasFreeVars (A.At aliasRegion (Src.Alias (A.At _ name) args tipe)) = let - addArg (A.At region arg) dict = + addArg dict (A.At region arg) = Dups.insert arg region region dict in - do boundVars <- Dups.detect (Error.DuplicateAliasArg name) (foldr addArg Dups.none args) + do boundVars <- Dups.detect (Error.DuplicateAliasArg name) (List.foldl' addArg Dups.none args) let freeVars = addFreeVars Map.empty tipe let overlap = Map.size (Map.intersection boundVars freeVars) if Map.size boundVars == overlap && Map.size freeVars == overlap