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

문서 검색

명세 6.0

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

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

    진단 TPZ5612

    An empty comprehension cannot infer its element, key, or value type.

    Diagnostic and cause

    링크

    Empty comprehension needs a type

    계열
    topaz
    단계
    check
    코드
    TPZ5612

    원인과 조건

    An unannotated comprehension binding whose body type remains unresolved is rejected with TPZ5612. Giving its input array an element type makes the result inferable.

    대응

    Give the input collection a concrete element type. The repaired program annotates an empty input as Array<int> before using its elements in the comprehension.

    Compiler phase: check.

    Compiler explanation: An empty comprehension cannot infer its element, key, or value type.

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

    • this comprehension's element type cannot be inferred (§6.4): annotate the binding with its collection type Source

    An unannotated comprehension binding whose body type remains unresolved is rejected with TPZ5612. Giving its input array an element type makes the result inferable.

    규칙diagnostics.tpz5612.p5.rule

    Comprehension element type needs input context

    An unannotated comprehension binding whose body type remains unresolved is rejected with TPZ5612. Giving its input array an element type makes the result inferable.

    Response

    링크

    Give the input collection a concrete element type. The repaired program annotates an empty input as Array<int> before using its elements in the comprehension.

    Reproduction and verification

    링크

    Rejected program

    링크
    example.tpzRejected program플레이그라운드 열기 →
    1. let values = [for value in ([]) => value]
    기대 출력0이 아닌 종료 코드
    표준 출력 없음.
    $ topaz check example.tpz · 대상 제품 5.21.3
    기대 결과

    기대 결과

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

    The empty input can also trigger TPZ5020. The required TPZ5612 refers to the complete comprehension. Supplying a typed input establishes the repair independently of result-context propagation.

    Repaired program

    링크
    example.tpzRepaired program
    1. let input: Array<int> = []
    2. let values = [for value in (input) => value]
    기대 출력종료 코드 0
    $ topaz check example.tpz · 대상 제품 5.21.3
    기대 결과

    기대 결과

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

    The empty input can also trigger TPZ5020. The required TPZ5612 refers to the complete comprehension. Supplying a typed input establishes the repair independently of result-context propagation.

    메뉴

    다운로드 →