Skip to content
Topaz6.0 · Before release
Download

Search documentation

Specification 6.0 · Not released · Tested product 5.21.3

Use arrow keys to choose a result. Press Enter to open.

Type an API name, diagnostic number, rule, or project topic.

    Diagnostics

    TPZ2012: Reserved binding name

    A binding position uses a name reserved for a constructor or language form.

    Diagnostic and cause

    Link

    Reserved binding name

    Family
    topaz
    Phase
    parse
    Code
    TPZ2012

    Cause and conditions

    A record declaration cannot use set or map as its name.

    Response

    Give the record a different name, such as Item. Keep set and map for collection literals. Use None() to construct an empty Option.

    Source evidence

    Compiler phase: parse.

    Compiler explanation: A binding position uses a name reserved for a constructor or language form.

    Message templates. The marker ⟨value⟩ stands for text computed for the reported program.

    • None is the Option constructor (§22.1) and cannot be a binding name Source
    • ⟨value⟩ is reserved for the ⟨value⟩ { … } collection literal (§6) and cannot be a record name Source

    Observed for the candidate in Topaz 5.21.3. Execution

    • error[TPZ2012]: set is reserved for the set { … } collection literal (§6) and cannot be a record name

    The record is named set. Record names set and map are reserved for collection literals. This code also covers reserved None binding positions.

    Rulediagnostics.tpz2012.rule

    Trigger and repair

    A record declaration cannot use set or map as its name.

    Source evidence

    Response

    Link

    Give the record a different name, such as Item. Keep set and map for collection literals. Use None() to construct an empty Option.

    Reproduction and verification

    Link

    Rejected program

    Link
    example.tpzRejected programOpen in Playground
    1. record set {
    2. value: int
    3. }
    Expected outputNonzero exit
    No stdout.
    $ topaz check example.tpz · target product 5.21.3
    Expected result

    Expected result

    Rejection during parse. Nonzero exit.

    • TPZ2012 diagnostic-tpz2012 at example.tpz:1:8

    The expected diagnostic, cause, source location, and accompanying diagnostics are specified below. The verification status records whether this program has been run.

    Source evidence

    Corrected program

    Link
    example.tpzCorrected program
    1. record Item {
    2. value: int
    3. }
    Expected outputexit 0
    $ topaz check example.tpz · target product 5.21.3
    Expected result

    Expected result

    Checking accepts the program. Exit code 0.

    This program applies the repair described above. The verification status records whether it has been run.

    Source evidence

    Menu

    Download