TypeParameters Type
Type parameter binding: `Shape.typeParamsOf`, `aliasTypeParams`, key variables and erasure.
Union cases
| Union case |
Description
|
Full Usage:
ConstraintDropped name
Parameters:
string
|
|
Full Usage:
ConstraintNotProvenNominal(name, bound)
Parameters:
string
bound : string
|
Wave two, lane C. TypeScript's `extends` is structural and F#'s `:>` is nominal, so a constraint the run cannot prove nominally is dropped from the rendered head rather than rendered as an `FS0001` waiting to happen. Distinct from `TP002`, which is a constraint with no F# form at all.
|
Full Usage:
DuplicateTypeParameterCollapsed(name, declared)
Parameters:
string
declared : int
|
Wave three, lane K. Several call signatures of one alias declare the same parameter name. The head writes it once, and every signature's uses bind to that single variable.
|
Full Usage:
GenericFunctionHoisted
|
|
Full Usage:
KeyOverOperand operand
Parameters:
string
|
|
Full Usage:
KeyWithIndexedAccess(operand, result)
Parameters:
string
result : string
|
|
Full Usage:
TypeParameterErased name
Parameters:
string
|
|
Full Usage:
UnnamedTypeParameter id
Parameters:
int
|
|
Full Usage:
UnnamedTypeParametersCounted count
Parameters:
int
|
Wave two, lane A (recon blocker 2). `TP001` interpolates a checker-assigned type id into its message, and ids are handed out in the order answers arrive - so the manifest differs run to run wherever it fires. Counted the way `RT001` counts the frontier instead. Wave three, lane G: no pass constructs this. It is retained rather than retired because retiring it renumbers `TP008`, and the key is quoted by four source files and by the measurements two plan documents record. Delete it only alongside a renumbering already being paid for.
|
Instance members
| Instance member |
Description
|
Full Usage:
this.IsConstraintDropped
Returns: bool
|
|
Full Usage:
this.IsConstraintNotProvenNominal
Returns: bool
|
|
Full Usage:
this.IsDuplicateTypeParameterCollapsed
Returns: bool
|
|
Full Usage:
this.IsGenericFunctionHoisted
Returns: bool
|
|
Full Usage:
this.IsKeyOverOperand
Returns: bool
|
|
Full Usage:
this.IsKeyWithIndexedAccess
Returns: bool
|
|
Full Usage:
this.IsTypeParameterErased
Returns: bool
|
|
Full Usage:
this.IsUnnamedTypeParameter
Returns: bool
|
|
Full Usage:
this.IsUnnamedTypeParametersCounted
Returns: bool
|
|