본문으로 건너뛰기
토파즈6.0 · 출시 전
다운로드 →

문서 검색

명세 6.0

방향키로 결과를 고르고 Enter를 눌러 여세요.

API 이름, 진단 번호, 규칙 또는 프로젝트 주제를 입력하세요.

    진단 TPZ4601

    A map literal or comprehension produced the same key more than once at runtime.

    Diagnostic and cause

    링크

    Duplicate runtime map key

    계열
    topaz
    단계
    run
    코드
    TPZ4601

    원인과 조건

    A map comprehension rejects two entries whose evaluated keys have the same canonical key with TPZ4601. The primary location is the map expression. Distinct computed keys construct the map.

    대응

    Ensure that generated entries have distinct keys. If replacing an existing value is intended, perform that update explicitly instead of constructing duplicate entries.

    Compiler phase: runtime.

    Compiler explanation: A map literal or comprehension produced the same key more than once at runtime.

    Message templates are Pending. The explanation above is not an observed CLI message.

    A map comprehension rejects two entries whose evaluated keys have the same canonical key with TPZ4601. The primary location is the map expression. Distinct computed keys construct the map.

    규칙diagnostics.tpz4601.p5.rule

    Computed map entries require distinct keys

    A map comprehension rejects two entries whose evaluated keys have the same canonical key with TPZ4601. The primary location is the map expression. Distinct computed keys construct the map.

    Response

    링크

    Ensure that generated entries have distinct keys. If replacing an existing value is intended, perform that update explicitly instead of constructing duplicate entries.

    Reproduction and verification

    링크

    Rejected program

    링크
    example.tpzRejected program
    1. let values = map { for key in (["same", "same"]) => key: 1 }
    기대 출력0이 아닌 종료 코드
    표준 출력 없음.
    $ topaz run example.tpz · 대상 제품 5.21.3
    기대 결과

    기대 결과

    거절 단계 run. 종료 코드가 0이 아닙니다.

    Run the paired runtime product assertions with TOPAZ_BIN set using node docs/topaz-reference/templates/diagnostics-p5-runtime.product.mjs. The shared example observer currently evaluates check diagnostics.

    Repaired program

    링크
    example.tpzRepaired program
    1. let values = map { for key in (["first", "second"]) => key: 1 }
    기대 출력종료 코드 0
    표준 출력 없음.
    $ topaz run example.tpz · 대상 제품 5.21.3
    기대 결과

    기대 결과

    실행을 마칩니다. 종료 코드 0.

    Run the paired runtime product assertions with TOPAZ_BIN set using node docs/topaz-reference/templates/diagnostics-p5-runtime.product.mjs. The shared example observer currently evaluates check diagnostics.

    메뉴

    다운로드 →