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

문서 검색

명세 6.0

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

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

    진단 TPZ2005

    A concurrent timeout and else branch are not paired correctly.

    Diagnostic and cause

    링크

    Malformed concurrent form

    계열
    topaz
    단계
    parse
    코드
    TPZ2005

    원인과 조건

    A concurrent expression has an else block exactly when it has a timeout argument. Each arm has a name followed by : and an expression.

    대응

    Remove the else block for concurrent without a timeout. When selecting a timeout, write timeout: followed by a duration and provide an else block.

    Compiler phase: parse.

    Compiler explanation: A concurrent timeout and else branch are not paired correctly.

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

    • concurrent takes only a timeout: argument Source
    • else requires the concurrent(timeout: ...) form Source
    • the concurrent(timeout: ...) form requires an else block Source

    The reproduction attaches an else block to concurrent without a timeout. The timeout form requires an else block, and the form without a timeout rejects one.

    규칙diagnostics.tpz2005.rule

    Trigger and repair

    A concurrent expression has an else block exactly when it has a timeout argument. Each arm has a name followed by : and an expression.

    Response

    링크

    Remove the else block for concurrent without a timeout. When selecting a timeout, write timeout: followed by a duration and provide an else block.

    Reproduction and verification

    링크

    Rejected program

    링크
    example.tpzRejected program플레이그라운드 열기 →
    1. let value = concurrent { first: 1 } else { 0 }
    기대 출력0이 아닌 종료 코드
    표준 출력 없음.
    $ topaz check example.tpz · 대상 제품 5.21.3
    기대 결과

    기대 결과

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

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

    Corrected program

    링크
    example.tpzCorrected program
    1. let value = concurrent { first: 1 }
    기대 출력종료 코드 0
    $ topaz check example.tpz · 대상 제품 5.21.3
    기대 결과

    기대 결과

    검사가 프로그램을 받아들입니다. 종료 코드 0.

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

    메뉴

    다운로드 →