Synthesizer

class Synthesizer(typer: Typer)(using @constructorOnly c: Context)

Synthesize terms for special classes

class Object
trait Matchable
class Any

Type members

Types

Handlers to synthesize implicits for special types

Handlers to synthesize implicits for special types

Value members

Concrete methods

def makeMirror(synth: (Type, Type, Span) => Context => Tree, formal: Type, span: Span)(using Context): Tree
def tryAll(formal: Type, span: Span)(using Context): Tree

Concrete fields

If formal is of the form CanEqual[T, U], try to synthesize an CanEqual.canEqualAny[T, U] as solution.

If formal is of the form CanEqual[T, U], try to synthesize an CanEqual.canEqualAny[T, U] as solution.

An implied instance for a type of the form Mirror { type MirroredType = T } where T is a generic sum or product or singleton type.

An implied instance for a type of the form Mirror { type MirroredType = T } where T is a generic sum or product or singleton type.

An implied instance for a type of the form Mirror.Product { type MirroredType = T } where T is a generic product type or a case object or an enum case.

An implied instance for a type of the form Mirror.Product { type MirroredType = T } where T is a generic product type or a case object or an enum case.

An implied instance for a type of the form Mirror.Sum { type MirroredType = T } where T is a generic sum type.

An implied instance for a type of the form Mirror.Sum { type MirroredType = T } where T is a generic sum type.

Creates a tree that will produce a ValueOf instance for the requested type. An EmptyTree is returned if materialization fails.

Creates a tree that will produce a ValueOf instance for the requested type. An EmptyTree is returned if materialization fails.