§1.2.2.(f) Substitutions for type anchors

Only two substitutions are considered for determining team identity:

  1. For type checking the application of team methods, this is substituted by the actual call target. For role methods a reference of the form Outer.this is substituted by the enclosing instance of the call target.
  2. Assignments from a final identifier to another final identifier are transitively followed, i.e., if t1, t2 are final, after an assignment t1=t2 the types R<@t1> and R<@t2> are considered identical. Otherwise R<@t1> and R<@t2> are incommensurable.
    Attaching an actual parameter to a formal parameter in a method call is also considered as an assignment with respect to this rule.