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

문서 검색

명세 6.0

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

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

    진단 TPZ5023

    A type alias expands back to itself through one or more aliases.

    Diagnostic and cause

    링크

    Type alias cycle

    계열
    topaz
    단계
    check
    코드
    TPZ5023

    원인과 조건

    Transparent type aliases must normalize without a cycle.

    대응

    Remove the cycle or introduce a nominal record, enum, or newtype boundary that expresses the intended data structure.

    Compiler phase: check.

    Compiler explanation: A type alias expands back to itself through one or more aliases.

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

    Transparent type aliases must normalize without a cycle.

    규칙diagnostics.tpz5023.p5.rule

    Type alias cycle

    Transparent type aliases must normalize without a cycle.

    Response

    링크

    Remove the cycle or introduce a nominal record, enum, or newtype boundary that expresses the intended data structure.

    Reproduction and verification

    링크

    Rejected program

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

    기대 결과

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

    필수 기본 위치 계약은 미정입니다.

    The intended rejection is recorded as an implementation limitation. A current SELF producer does not establish the diagnostic source location, so that location remains Pending.

    Repaired program

    링크
    example.tpzRepaired program
    1. type First = int
    2. type Second = First
    3. let value: First = 1
    기대 출력종료 코드 0
    $ topaz check example.tpz · 대상 제품 5.21.3
    기대 결과

    기대 결과

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

    The intended rejection is recorded as an implementation limitation. A current SELF producer does not establish the diagnostic source location, so that location remains Pending.

    메뉴

    다운로드 →