ImplicitRunInfo

Info relating to implicits that is kept for one run

class Object
trait Matchable
class Any
class Run
class TASTYRun

Value members

Concrete methods

The implicit scope of a type tp, which is specified by the following definitions.

The implicit scope of a type tp, which is specified by the following definitions.

A reference is an anchor if it refers to an object, a class, a trait, an abstract type, an opaque type alias, or a match type alias. References to packages and package objects are anchors only under -source:3.0-migration.

The anchors of a type T is a set of references defined as follows:

  • If T is a reference to an anchor, T itself plus, if T is of the form P#A, the anchors of P.
  • If T is an alias of U, the anchors of U.
  • If T is a reference to a type parameter, the union of the anchors of both of its bounds.
  • If T is a singleton reference, the anchors of its underlying type, plus, if T is of the form (P#x).type, the anchors of P.
  • If T is the this-type of a static object, the anchors of a term reference to that object.
  • If T is some other type, the union of the anchors of each constituent type of T.

The implicit scope of a type tp is the smallest set S of term references (i.e. TermRefs) such that

  • If T is a reference to a class, S includes a reference to the companion object of the class, if it exists, as well as the implicit scopes of all of T's parent classes.
  • If T is a reference to an object, S includes T itself as well as the implicit scopes of all of T's parent classes.
  • If T is a reference to an opaque type alias named A, S includes a reference to an object A defined in the same scope as the type, if it exists, as well as the implicit scope of T's underlying type or bounds.
  • If T is a reference to an an abstract type or match type alias named A, S includes a reference to an object A defined in the same scope as the type, if it exists, as well as the implicit scopes of T's lower and upper bound, if present.
  • If T is a reference to an anchor of the form p.A then S also includes all term references on the path p.
  • If T is some other type, S includes the implicit scopes of all anchors of T.
protected def reset(): Unit