Core concept

// Scala 3
given intOrdering: Ordering[Int] = Ordering.Int
def sort[T](xs: List[T])(using Ordering[T]): List[T] = xs.sorted
Advertisement

How it works

Implicits in Scala 2 had many overloaded meanings — Scala 3 clarifies.

Advertisement

Trade-offs + gotchas

Type classes, contextual programming, DI.