Skip to content

Commit 946841d

Browse files
Use latest FSharpSet implementation
1 parent 7863d4e commit 946841d

File tree

2 files changed

+762
-597
lines changed

2 files changed

+762
-597
lines changed

src/fable-library/Map.fs

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -669,7 +669,8 @@ type Map<[<EqualityConditionalOn>]'Key, [<EqualityConditionalOn; ComparisonCondi
669669
let m1 = e1.MoveNext()
670670
let m2 = e2.MoveNext()
671671
(m1 = m2) && (not m1 ||
672-
(let e1c, e2c = e1.Current, e2.Current
672+
(let e1c = e1.Current
673+
let e2c = e2.Current
673674
((e1c.Key = e2c.Key) && (Unchecked.equals e1c.Value e2c.Value) && loop())))
674675
loop()
675676
| _ -> false
@@ -829,19 +830,19 @@ let fold<'Key, 'T, 'State when 'Key : comparison> folder (state:'State) (table:
829830

830831
// [<CompiledName("FoldBack")>]
831832
let foldBack<'Key, 'T, 'State when 'Key : comparison> folder (table: Map<'Key, 'T>) (state:'State) =
832-
MapTree.foldBack folder table.Tree state
833+
MapTree.foldBack folder table.Tree state
833834

834835
// [<CompiledName("ToSeq")>]
835836
let toSeq (table: Map<_, _>) =
836837
table |> Seq.map (fun kvp -> kvp.Key, kvp.Value)
837838

838839
// [<CompiledName("FindKey")>]
839840
let findKey predicate (table : Map<_, _>) =
840-
table |> toSeq |> Seq.pick (fun (k, v) -> if predicate k v then Some k else None)
841+
table |> Seq.pick (fun kvp -> let k = kvp.Key in if predicate k kvp.Value then Some k else None)
841842

842843
// [<CompiledName("TryFindKey")>]
843844
let tryFindKey predicate (table : Map<_, _>) =
844-
table |> toSeq |> Seq.tryPick (fun (k, v) -> if predicate k v then Some k else None)
845+
table |> Seq.tryPick (fun kvp -> let k = kvp.Key in if predicate k kvp.Value then Some k else None)
845846

846847
// [<CompiledName("OfList")>]
847848
let ofList (elements: ('Key * 'Value) list) =

0 commit comments

Comments
 (0)