The context-dependent inferencer part
Returns (formals, formalsExpanded)
where formalsExpanded
are the expected types
for the nbSubPats
sub-patterns of an extractor pattern, of which the corresponding
unapply[Seq] call is assumed to have result type resTp
.
Returns (formals, formalsExpanded)
where formalsExpanded
are the expected types
for the nbSubPats
sub-patterns of an extractor pattern, of which the corresponding
unapply[Seq] call is assumed to have result type resTp
.
formals
are the formal types before expanding a potential repeated parameter (must come last in formals
, if at all)
when the unapply[Seq] definition is ill-typed
The formal parameter types corresponding to formals
.
The formal parameter types corresponding to formals
.
If formals
has a repeated last parameter, a list of
(nargs - params.length + 1) copies of its type is returned.
By-name types are replaced with their underlying type.
allows keeping ByName parameters. Used in NamesDefaults.
allows keeping repeated parameter (if there's one argument). Used in NamesDefaults.
A fresh type variable with given type parameter as origin.
A fresh type variable with given type parameter as origin.
...
...
Map every TypeVar to its constraint.
Automatically perform the following conversions on expression types: A method type becomes the corresponding function type.
Automatically perform the following conversions on expression types: A method type becomes the corresponding function type. A nullary method type becomes its result type. Implicit parameters are skipped. This method seems to be performance critical.
The applied type of class 'to' after inferring anything possible from the knowledge that 'to' must also be of the type given in 'from'.
The applied type of class 'to' after inferring anything possible from the knowledge that 'to' must also be of the type given in 'from'.
Solve constraint collected in types tvars
.
Solve constraint collected in types tvars
.
All type variables to be instantiated.
The type parameters corresponding to tvars
The variances of type parameters; need to reverse solution direction for all contravariant variables.
When true
search for max solution else min.
(infer: StringAdd).self
(infer: StringFormat).self
(infer: ArrowAssoc[Infer]).x
(Since version 2.10.0) Use leftOfArrow
instead
(infer: Ensuring[Infer]).x
(Since version 2.10.0) Use resultOfEnsuring
instead
This trait ...
1.0