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

문서 검색

명세 6.0

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

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

    진단 TPZ3010

    A module import targets a module with no exported surface.

    Diagnostic and cause

    링크

    Imported module exports nothing

    계열
    topaz
    단계
    resolve
    코드
    TPZ3010

    원인과 조건

    Historical SELF behavior: importing a module with no exported declarations produces TPZ3010. The recommended Modules contract permits an empty-export namespace import and uses TPZ3009 when an absent member is selected. The namespace acceptance and current-product limitation on the Modules page are the normative /v6.0/en/docs expectations for that decision; the reproduction below preserves the historical diagnostic identity.

    대응

    For the current SELF product, put initialization in the entry or expose a real public operation that the application needs. The recommended contract requires no dummy export: an ordinary namespace import can initialize a module with no public members. TPZ3010 remains reserved for the historical restriction and is not reassigned.

    Compiler phase: resolve.

    Compiler explanation: A module import targets a module with no exported surface.

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

    • ⟨value⟩ exports nothing; v5.2 has no side-effect-only imports Source

    Observed for the candidate in Topaz 5.21.3. Execution

    • error[TPZ3010]: lib exports nothing; v5.2 has no side-effect-only imports

    Historical SELF restriction: the imported module has an empty export table. The recommended uniform module contract permits that namespace import and initializes the module normally.

    규칙diagnostics.tpz3010.rule

    Trigger and repair

    Historical SELF behavior: importing a module with no exported declarations produces TPZ3010. The recommended Modules contract permits an empty-export namespace import and uses TPZ3009 when an absent member is selected. The namespace acceptance and current-product limitation on the Modules page are the normative /v6.0/en/docs expectations for that decision; the reproduction below preserves the historical diagnostic identity.

    Response

    링크

    For the current SELF product, put initialization in the entry or expose a real public operation that the application needs. The recommended contract requires no dummy export: an ordinary namespace import can initialize a module with no public members. TPZ3010 remains reserved for the historical restriction and is not reassigned.

    Reproduction and verification

    링크

    Rejected program

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

    기대 결과

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

    기대 결과

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

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

    메뉴

    다운로드 →