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

문서 검색

명세 6.0

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

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

    진단 TPZ3006

    The module graph contains a cyclic import dependency.

    Diagnostic and cause

    링크

    Import cycle

    계열
    topaz
    단계
    resolve
    코드
    TPZ3006

    원인과 조건

    A directed cycle in the module import graph produces TPZ3006.

    대응

    Remove a dependency from the cycle or put shared declarations in a third module that both modules can import.

    Compiler phase: resolve.

    Compiler explanation: The module graph contains a cyclic import dependency.

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

    • import cycle: ⟨value⟩ Source
    • module imports itself: ⟨value⟩ Source

    Observed for the candidate in Topaz 5.21.3. Execution

    • error[TPZ3006]: import cycle: first -> second -> first

    The import graph leads back to a module already on the dependency path. The example forms first -> second -> first.

    규칙diagnostics.tpz3006.rule

    Trigger and repair

    A directed cycle in the module import graph produces TPZ3006.

    Response

    링크

    Remove a dependency from the cycle or put shared declarations in a third module that both modules can import.

    Reproduction and verification

    링크

    Rejected program

    링크
    example.tpzRejected program플레이그라운드 열기 →
    1. import first
    기대 출력0이 아닌 종료 코드
    표준 출력 없음.
    $ topaz check example.tpz · 대상 제품 5.21.3
    first.tpzRejected program플레이그라운드 열기 →
    1. import second
    2. export let one = 1
    second.tpzRejected program플레이그라운드 열기 →
    1. import first
    2. export let two = 2
    기대 결과

    기대 결과

    거절 단계 resolve. 종료 코드가 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. import first
    기대 출력종료 코드 0
    $ topaz check example.tpz · 대상 제품 5.21.3
    first.tpzCorrected program플레이그라운드 열기 →
    1. import second
    2. export let one = 1
    second.tpzCorrected program플레이그라운드 열기 →
    1. export let two = 2
    기대 결과

    기대 결과

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

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

    메뉴

    다운로드 →