Logo Xantham

TypeParameters Type

Type parameter binding: `Shape.typeParamsOf`, `aliasTypeParams`, key variables and erasure.

Union cases

Union case Description

ConstraintDropped name

Full Usage: ConstraintDropped name

Parameters:
    name : string

name : string

ConstraintNotProvenNominal(name, bound)

Full Usage: ConstraintNotProvenNominal(name, bound)

Parameters:
    name : 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.

name : string
bound : string

DuplicateTypeParameterCollapsed(name, declared)

Full Usage: DuplicateTypeParameterCollapsed(name, declared)

Parameters:
    name : 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.

name : string
declared : int

GenericFunctionHoisted

Full Usage: GenericFunctionHoisted

KeyOverOperand operand

Full Usage: KeyOverOperand operand

Parameters:
    operand : string

operand : string

KeyWithIndexedAccess(operand, result)

Full Usage: KeyWithIndexedAccess(operand, result)

Parameters:
    operand : string
    result : string

operand : string
result : string

TypeParameterErased name

Full Usage: TypeParameterErased name

Parameters:
    name : string

name : string

UnnamedTypeParameter id

Full Usage: UnnamedTypeParameter id

Parameters:
    id : int

id : int

UnnamedTypeParametersCounted count

Full Usage: UnnamedTypeParametersCounted count

Parameters:
    count : 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.

count : int

Instance members

Instance member Description

this.IsConstraintDropped

Full Usage: this.IsConstraintDropped

Returns: bool
Returns: bool

this.IsConstraintNotProvenNominal

Full Usage: this.IsConstraintNotProvenNominal

Returns: bool
Returns: bool

this.IsDuplicateTypeParameterCollapsed

Full Usage: this.IsDuplicateTypeParameterCollapsed

Returns: bool
Returns: bool

this.IsGenericFunctionHoisted

Full Usage: this.IsGenericFunctionHoisted

Returns: bool
Returns: bool

this.IsKeyOverOperand

Full Usage: this.IsKeyOverOperand

Returns: bool
Returns: bool

this.IsKeyWithIndexedAccess

Full Usage: this.IsKeyWithIndexedAccess

Returns: bool
Returns: bool

this.IsTypeParameterErased

Full Usage: this.IsTypeParameterErased

Returns: bool
Returns: bool

this.IsUnnamedTypeParameter

Full Usage: this.IsUnnamedTypeParameter

Returns: bool
Returns: bool

this.IsUnnamedTypeParametersCounted

Full Usage: this.IsUnnamedTypeParametersCounted

Returns: bool
Returns: bool

Type something to start searching.