Class CopyPresentOrError

All Implemented Interfaces:
BiPredicate<IToken,ISymbol>

class CopyPresentOrError extends OperatorTest implements BiPredicate<IToken,ISymbol>
Given a symbol, this checks that the type that the symbol has can support the ':=:' (_copy) operator.

Required by FOR-RANGE loops: the user-visible loop variable is a fresh per-iteration object, default-constructed then populated from the loop counter via ':=:'. This decouples the loop variable's object from the mutate-in-place counter so captures/aliases hold the value the developer expects at that iteration (see EK9_LOOP_VARIABLE_PER_ITERATION_SEMANTICS.md).