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

    TPZ5602: Duplicate key in map literal

    A map literal contains the same constant key more than once.

    Diagnostic and cause

    Link

    Duplicate key in map literal

    Family
    topaz
    Phase
    check
    Code
    TPZ5602

    Cause and conditions

    Two map-literal keys with identical literal spelling are rejected with TPZ5602 at the repeated key. Different string keys are accepted.

    Response

    Remove the repeated entry or use a different key. Combine values before constructing the map when both entries describe the same key.

    Source evidence

    Compiler phase: check.

    Compiler explanation: A map literal contains the same constant key more than once.

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

    • duplicate key in map { … } literal Source

    Observed for the candidate in Topaz 5.21.3. Execution

    • error[TPZ5602]: duplicate key in map { … } literal

    Two map-literal keys with identical literal spelling are rejected with TPZ5602 at the repeated key. Different string keys are accepted.

    Rulediagnostics.tpz5602.p5.rule

    Repeated literal map key

    Two map-literal keys with identical literal spelling are rejected with TPZ5602 at the repeated key. Different string keys are accepted.

    Source evidence

    Response

    Link

    Remove the repeated entry or use a different key. Combine values before constructing the map when both entries describe the same key.

    Reproduction and verification

    Link

    Rejected program

    Link
    example.tpzRejected programOpen in Playground
    1. let values = map { "a": 1, "a": 2 }
    Expected outputNonzero exit
    No stdout.
    $ topaz check example.tpz · target product 5.21.3
    Expected result

    Expected result

    Rejection during check. Nonzero exit.

    • TPZ5602 repeated-identical-string-key-in-map-literal at example.tpz:1:28

    The SELF check compares the literal kind and source spelling. This example does not claim static detection of equal values written with different spellings.

    Source evidence

    Repaired program

    Link
    example.tpzRepaired program
    1. let values = map { "a": 1, "b": 2 }
    Expected outputexit 0
    $ topaz check example.tpz · target product 5.21.3
    Expected result

    Expected result

    Checking accepts the program. Exit code 0.

    The SELF check compares the literal kind and source spelling. This example does not claim static detection of equal values written with different spellings.

    Source evidence

    Menu

    Download