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