fix: remove explicit Ord Range
This commit is contained in:
parent
e73645505b
commit
ce92672c3a
2 changed files with 1 additions and 12 deletions
|
|
@ -12,14 +12,6 @@ inductive Ordering where
|
|||
| lt | eq | gt
|
||||
deriving Inhabited, BEq
|
||||
|
||||
namespace Ordering
|
||||
|
||||
def lexOrdering (orderings : List Ordering) : Ordering :=
|
||||
orderings.foldr (init := Ordering.eq) fun ordering result =>
|
||||
if ordering == Ordering.eq then result else ordering
|
||||
|
||||
end Ordering
|
||||
|
||||
|
||||
class Ord (α : Type u) where
|
||||
compare : α → α → Ordering
|
||||
|
|
|
|||
|
|
@ -42,10 +42,7 @@ instance : LE Position := leOfOrd
|
|||
structure Range where
|
||||
start : Position
|
||||
«end» : Position
|
||||
deriving Inhabited, BEq, Hashable, ToJson, FromJson
|
||||
|
||||
instance : Ord Range where
|
||||
compare a b := Ordering.lexOrdering [compare a.start b.start, compare a.end b.end]
|
||||
deriving Inhabited, BEq, Hashable, ToJson, FromJson, Ord
|
||||
|
||||
instance : LT Range := ltOfOrd
|
||||
instance : LE Range := leOfOrd
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue