A class that records an available implicit
A class that sets up an implicit search.
A class which is used to track pending implicits to prevent infinite implicit searches.
The result of an implicit search
An extractor for unary function types arg => res
An extractor for types of the form ? { name: ? }
An extractor for types of the form ? { name: (? >: argtpe <: Any*)restp }
A sentinel indicating no implicit was found
Find all views from type tp
(in which tpars
are free)
Find all views from type tp
(in which tpars
are free)
Note that the trees in the search results in the returned list share the same type variables.
Ignore their constr field! The list of type constraints returned along with each tree specifies the constraints that
must be met by the corresponding type parameter in tpars
(for the returned implicit view to be valid).
A friendly wrapper over inferImplicit to be used in macro contexts and toolboxes.
Search for an implicit value.
Search for an implicit value. See the comment on result
at the end of class ImplicitSearch
for more info how the search is conducted.
The tree for which the implicit needs to be inserted. (the inference might instantiate some of the undetermined type parameters of that tree.
The expected type of the implicit.
Should ambiguous implicit errors be reported? False iff we search for a view to find out whether one type is coercible to another.
We are looking for a view
The current context
False if any divergent/ambiguous errors should be ignored after implicits search, true if they should be reported (used in further typechecking).
Position that is should be used for tracing and error reporting
(useful when we infer synthetic stuff and pass EmptyTree in the tree
argument)
If it's set NoPosition, then position-based services will use tree.pos
A search result
A constructor for types ?{ def/type name: tp }, used in infer view to member searches.
(implicits: StringAdd).self
(implicits: StringFormat).self
(implicits: ArrowAssoc[Implicits]).x
(Since version 2.10.0) Use leftOfArrow
instead
(implicits: Ensuring[Implicits]).x
(Since version 2.10.0) Use resultOfEnsuring
instead
This trait provides methods to find various kinds of implicits.
1.0