ConstraintLens
A lens for updating a single entry array in one of the three constraint maps
Value members
Abstract methods
def updateEntries(c: OrderingConstraint, poly: TypeLambda, entries: Array[T])(using Context): OrderingConstraint
Concrete methods
def map(prev: OrderingConstraint, current: OrderingConstraint, poly: TypeLambda, idx: Int, f: T => T)(using Context): OrderingConstraint
def map(prev: OrderingConstraint, current: OrderingConstraint, param: TypeParamRef, f: T => T)(using Context): OrderingConstraint
def update(prev: OrderingConstraint, current: OrderingConstraint, poly: TypeLambda, idx: Int, entry: T)(using Context): OrderingConstraint
The current
constraint but with the entry for param
updated to entry
.
current
is used linearly. If it is different from prev
it is
known to be dead after the call. Hence it is OK to update destructively
parts of current
which are not shared by prev
.
The current
constraint but with the entry for param
updated to entry
.
current
is used linearly. If it is different from prev
it is
known to be dead after the call. Hence it is OK to update destructively
parts of current
which are not shared by prev
.
def update(prev: OrderingConstraint, current: OrderingConstraint, param: TypeParamRef, entry: T)(using Context): OrderingConstraint