From fea29c6c3f4356dccb7c2b7f0a9fc04ee06e1cb2 Mon Sep 17 00:00:00 2001 From: Victor Baybekov Date: Sat, 9 Jan 2021 22:53:25 +0100 Subject: [PATCH] Map: optimize comparer: CI was fine without IComparable --- src/fsharp/FSharp.Core/map.fs | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/fsharp/FSharp.Core/map.fs b/src/fsharp/FSharp.Core/map.fs index eae1076506d..05f56b54688 100644 --- a/src/fsharp/FSharp.Core/map.fs +++ b/src/fsharp/FSharp.Core/map.fs @@ -39,7 +39,7 @@ module MapTree = static member private CompareCG<'U when 'U :> IComparable<'U>>(l:'U, r:'U):int = l.CompareTo(r) // A call to IComparable.CompareTo - static member private CompareC<'U when 'U :> IComparable>(l:'U, r:'U):int = l.CompareTo(r) +// static member private CompareC<'U when 'U :> IComparable>(l:'U, r:'U):int = l.CompareTo(r) static member val CompareToDlg : Func<'T,'T,int> = let dlg = @@ -50,11 +50,11 @@ module MapTree = typeof>.GetMethod("CompareCG", BindingFlags.NonPublic ||| BindingFlags.Static) .MakeGenericMethod([|typeof<'T>|]) Delegate.CreateDelegate(typeof>, m) :?> Func<'T,'T,int> - elif typeof.IsAssignableFrom(typeof<'T>) then - let m = - typeof>.GetMethod("CompareC", BindingFlags.NonPublic ||| BindingFlags.Static) - .MakeGenericMethod([|typeof<'T>|]) - Delegate.CreateDelegate(typeof>, m) :?> Func<'T,'T,int> +// elif typeof.IsAssignableFrom(typeof<'T>) then +// let m = +// typeof>.GetMethod("CompareC", BindingFlags.NonPublic ||| BindingFlags.Static) +// .MakeGenericMethod([|typeof<'T>|]) +// Delegate.CreateDelegate(typeof>, m) :?> Func<'T,'T,int> else null with _ -> null dlg