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

문서 검색

명세 6.0

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

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

    진단 TPZ5003

    The program tried to assign through a binding that was not declared mutable.

    Diagnostic and cause

    링크

    Immutable binding mutation

    계열
    topaz
    단계
    check
    코드
    TPZ5003

    원인과 조건

    An assignment through an immutable root binding is rejected with TPZ5003 at that root. Declare the root with let mut when subsequent assignment is required.

    대응

    Declare a local root with let mut when it must change. Otherwise, compute a new value and bind it separately.

    Compiler phase: check/runtime.

    Compiler explanation: The program tried to assign through a binding that was not declared mutable.

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

    Observed for the candidate in Topaz 5.21.3. Execution

    • error[TPZ5003]: value is immutable; declare it with let mut

    An assignment through an immutable root binding is rejected with TPZ5003 at that root. Declare the root with let mut when subsequent assignment is required.

    규칙diagnostics.tpz5003.p5.rule

    Assignment requires a mutable root binding

    An assignment through an immutable root binding is rejected with TPZ5003 at that root. Declare the root with let mut when subsequent assignment is required.

    Response

    링크

    Declare a local root with let mut when it must change. Otherwise, compute a new value and bind it separately.

    Reproduction and verification

    링크

    Rejected program

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

    기대 결과

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

    Repaired program

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

    기대 결과

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

    메뉴

    다운로드 →