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

문서 검색

명세 6.0

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

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

    진단 TPZ3015

    The program attempts to assign to a binding imported from another module.

    Diagnostic and cause

    링크

    Assignment to imported binding

    계열
    topaz
    단계
    resolve
    코드
    TPZ3015

    원인과 조건

    Assigning to a selected import binding produces TPZ3015.

    대응

    Copy the value into your own let mut binding, or call an operation exported by the producing module.

    Compiler phase: resolve.

    Compiler explanation: The program attempts to assign to a binding imported from another module.

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

    • ⟨value⟩ is an imported binding and cannot be assigned Source
    • ⟨value⟩.⟨value⟩ is an exported binding viewed through a namespace and cannot be assigned Source

    Observed for the candidate in Topaz 5.21.3. Execution

    • error[TPZ3015]: value is an imported binding and cannot be assigned

    The assignment targets a name introduced by a selected import. Importing a binding does not make it mutable in the importing module.

    규칙diagnostics.tpz3015.rule

    Trigger and repair

    Assigning to a selected import binding produces TPZ3015.

    Response

    링크

    Copy the value into your own let mut binding, or call an operation exported by the producing module.

    Reproduction and verification

    링크

    Rejected program

    링크
    example.tpzRejected program플레이그라운드 열기 →
    1. import lib { value }
    2. value = 2
    기대 출력0이 아닌 종료 코드
    표준 출력 없음.
    $ topaz check example.tpz · 대상 제품 5.21.3
    lib.tpzRejected program플레이그라운드 열기 →
    1. export let value = 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 { value }
    2. let mut localValue = value
    3. localValue = 2
    기대 출력종료 코드 0
    $ topaz check example.tpz · 대상 제품 5.21.3
    lib.tpzCorrected program플레이그라운드 열기 →
    1. export let value = 1
    기대 결과

    기대 결과

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

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

    메뉴

    다운로드 →