SearchRoot

final class SearchRoot extends SearchHistory

The the state corresponding to the outermost context of an implicit searcch.

class Object
trait Matchable
class Any

Value members

Concrete methods

override def defineBynameImplicit(tpe: Type, result: SearchSuccess)(using Context): SearchResult

Define a pending dictionary entry if any.

Define a pending dictionary entry if any.

If the provided type corresponds to an under-construction by name implicit, then use the tree contained in the provided SearchSuccess as its definition, returning an updated result referring to dictionary entry. Otherwise return the SearchSuccess unchanged.

Value Params
result

The SearchSuccess corresponding to tpe

tpe

The type for which the entry is to be defined

Definition Classes
override def emitDictionary(span: Span, result: SearchResult)(using Context): SearchResult

Emit the implicit dictionary at the completion of an implicit search.

Emit the implicit dictionary at the completion of an implicit search.

Value Params
result

The result of the search prior to substitution of recursive references.

span

The position at which the search is elaborated.

Definition Classes
override def linkBynameImplicit(tpe: Type)(using Context): TermRef

Link a reference to an under-construction implicit for the provided type to its defining occurrence via the implicit dictionary, creating a dictionary entry for this type if one does not yet exist.

Link a reference to an under-construction implicit for the provided type to its defining occurrence via the implicit dictionary, creating a dictionary entry for this type if one does not yet exist.

Value Params
tpe

The type to link.

Definition Classes
override def refBynameImplicit(tpe: Type)(using Context): Type

Look up an implicit dictionary entry by type.

Look up an implicit dictionary entry by type.

If present yield the TermRef corresponding to the eventual dictionary entry, otherwise NoType.

Value Params
tpe

The type to look up.

Definition Classes

Inherited methods

def nest(cand: Candidate, pt: Type)(using Context): OpenSearch

Create the state for a nested implicit search.

Create the state for a nested implicit search.

Value Params
cand

The candidate implicit to be explored.

pt

The target type for the above candidate.

Inherited from
SearchHistory
override def toString: String
Definition Classes
Inherited from
SearchHistory

Concrete fields

The dictionary of recursive implicit types and corresponding terms for this search.

The dictionary of recursive implicit types and corresponding terms for this search.