Synthesizer

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

Synthesize terms for special classes

Companion:
object
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 ?=> TreeWithErrors, formal: Type, span: Span)(using Context): TreeWithErrors
def tryAll(formal: Type, span: Span)(using Context): TreeWithErrors

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 EmptyTreeNoError is returned if materialization fails.

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