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

문서 검색

명세 6.0

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

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

    진단 TPZ5521

    The same type already conforms to the same protocol.

    Diagnostic and cause

    링크

    Duplicate protocol implementation

    계열
    topaz
    단계
    check
    코드
    TPZ5521

    원인과 조건

    Each nominal type has at most one conformance to a given protocol. Repeating a derives entry or adding another implementation of the same conformance is rejected with TPZ5521.

    대응

    Keep one implementation of the protocol for that type. Remove the duplicate derives entry or manual implementation.

    Compiler phase: check.

    Compiler explanation: The same type already conforms to the same protocol.

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

    • ⟨value⟩ conformance to ⟨value⟩ ⟨value⟩; a conformance must be unique Source
    • ⟨value⟩ already conforms to ⟨value⟩ ⟨value⟩; a conformance must be unique Source

    Observed for the candidate in Topaz 5.21.3. Execution

    • error[TPZ5521]: Item conformance to Show is derived more than once; a conformance must be unique

    Each nominal type has at most one conformance to a given protocol. Repeating a derives entry or adding another implementation of the same conformance is rejected with TPZ5521.

    규칙diagnostics.tpz5521.p5.rule

    Duplicate protocol implementation

    Each nominal type has at most one conformance to a given protocol. Repeating a derives entry or adding another implementation of the same conformance is rejected with TPZ5521.

    Response

    링크

    Keep one implementation of the protocol for that type. Remove the duplicate derives entry or manual implementation.

    Reproduction and verification

    링크

    Rejected program

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

    기대 결과

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

    Repaired program

    링크
    example.tpzRepaired program
    1. record Item derives Show { value: int }
    기대 출력종료 코드 0
    $ topaz check example.tpz · 대상 제품 5.21.3
    기대 결과

    기대 결과

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

    메뉴

    다운로드 →