Причина, по которой вам нужно импортировать Ordering.Implicits
, заключается в использовании логических операций, таких как <
, >
и так далее.
Импортируя его, вы указываете компилятору использовать scala.math.Ordering.Ops
class Ops(lhs: T) {
def <(rhs: T) = lt(lhs, rhs)
def <=(rhs: T) = lteq(lhs, rhs)
def >(rhs: T) = gt(lhs, rhs)
def >=(rhs: T) = gteq(lhs, rhs)
def equiv(rhs: T) = Ordering.this.equiv(lhs, rhs)
def max(rhs: T): T = Ordering.this.max(lhs, rhs)
def min(rhs: T): T = Ordering.this.min(lhs, rhs)
}
, позволяя вам вызывать <
для типа A