Dotty Documentation

0.14.0-bin-SNAPSHOT

trait Implicits
extends Object

The implicit resolution part of type checking

[-] Constructors

[-] Members

[+] class ImplicitSearch

An implicit search; parameters as in inferImplicit

[+] private def assumedCanEqual ( ltp: Type , rtp: Type ) ( implicit ctx: Context ) : Boolean

An Eql[T, U] instance is assumed - if one of T, U is an error type, or - if one of T, U is a subtype of the lifted version of the other, unless strict equality is set.

[+] def checkCanEqual ( ltp: Type , rtp: Type , span: Span ) ( implicit ctx: Context ) : Unit

Check that equality tests between types ltp and rtp make sense

[+] def implicitArgTree ( formal: Type , span: Span ) ( implicit ctx: Context ) : Tree

Search an implicit argument and report error if not found

[+] def implicitParamString ( paramName: TermName , methodStr: String , tree: Tree ) ( implicit ctx: Context ) : String

A string indicating the formal parameter corresponding to a missing argument

[+] def inferImplicit ( pt: Type , argument: Tree , span: Span ) ( implicit ctx: Context ) : SearchResult

Find an implicit parameter or conversion.

[+] def inferImplicitArg ( formal: Type , span: Span ) ( implicit ctx: Context ) : Tree

Find an implicit argument for parameter formal. Return a failure as a SearchFailureType in the type of the returned tree.

[+] def inferView ( from: Tree , to: Type ) ( implicit ctx: Context ) : SearchResult

Find an implicit conversion to apply to given tree from so that the result is compatible with type to.

[+] def missingArgMsg ( arg: Tree , pt: Type , where: String ) ( implicit ctx: Context ) : String
[+] private def strictEquality ( implicit ctx: Context ) : Boolean
[+] override def viewExists ( from: Type , to: Type ) ( implicit ctx: Context ) : Boolean