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

문서 검색

명세 6.0

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

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

    진단 TPZ5099

    Explains the runtime guard diagnostic and how to identify its operation and cause.

    Identity and meaning

    링크

    Runtime guard could not complete

    계열
    topaz
    단계
    run
    코드
    TPZ5099

    사용 조건

    기본 포함 · 미정

    The relevant runtime operation and std.lispex host boundary must be active.

    The guard definition, product decoder, and selected producer branches are source reviewed. Installed-product exposure and default-distribution availability remain Pending.

    원인과 조건

    The reviewed std.lispex boundary produces TPZ5099 for a host refusal that reaches its fallback, a response for the wrong operation, an out-of-range limit or artifact length, a completed settlement missing its result, or an unknown operational-fault code.

    대응

    Retain the full message, operation, compiler version, target, and package context. For a host refusal, check the relevant std.lispex activation and operation contract. A wrong-operation response or missing required result warrants a runtime defect-candidate report if reproduced. There is no verified source rewrite that resolves every producer of this code.

    TPZ5099 covers several runtime conditions. Use the accompanying message and operation to identify the cause; the code alone does not identify a particular unsupported language construct.

    Producer conditions

    링크
    규칙topaz.rule.runtime-guard.observed-conditions

    Runtime guard conditions

    The reviewed std.lispex boundary produces TPZ5099 for a host refusal that reaches its fallback, a response for the wrong operation, an out-of-range limit or artifact length, a completed settlement missing its result, or an unknown operational-fault code.

    이유

    Host replies must match the requested operation and fit the expected value ranges. Guards prevent invalid replies from becoming successful API results.

    Ordinary operational faults returned by Evaluate or EvaluateWithEvidence are handled separately as result values before the fallback. They do not all become TPZ5099. These source branches do not enumerate every producer or phase in the repository.

    규칙topaz.rule.runtime-guard.value-conversion

    Canonical values do not require a factory handle

    A valid canonical value conversion does not require an unrelated rule factory call.

    The paired public 5.21.3 examples check host selection with the 5.21 conversion signature. Topaz 6.0 takes an admitted package, bytes, and host limits under Lispex values. The exact-value round trip specifies that conversion.

    이유

    A rule factory selects a prepared program. Converting a value does not select or evaluate a program.

    Response

    링크

    Retain the full message, operation, compiler version, target, and package context. For a host refusal, check the relevant std.lispex activation and operation contract. A wrong-operation response or missing required result warrants a runtime defect-candidate report if reproduced. There is no verified source rewrite that resolves every producer of this code.

    Host selection and canonical conversion

    링크

    Convert canonical input without a factory call

    링크
    src/main.tpzConvert canonical input without a factory call플레이그라운드 열기 →
    1. import std.io
    2. import std.test
    3. import std.lispex { valueFromCanonical }
    4. let bytes = test.assertOk(Bytes.fromArray([0]))
    5. let value = test.assertOk(valueFromCanonical(bytes))
    6. io.writeLine("canonical-ok")
    기대 출력종료 코드 0
    canonical-ok
    
    $ topaz run src/main.tpz --compiler self · 대상 제품 5.21.3
    기대 결과

    기대 결과

    실행을 마칩니다. 종료 코드 0.

    기대 표준 출력
    1. canonical-ok

    This public 5.21.3 example checks host selection with the 5.21 one-argument conversion. Use the maintained application package and unchanged lock.

    Convert canonical input after an explicit factory call

    링크
    src/main.tpzConvert canonical input after an explicit factory call플레이그라운드 열기 →
    1. import std.io
    2. import std.test
    3. import std.lispex { valueFromCanonical }
    4. import std.lispex.rules { approve }
    5. let rule = approve()
    6. let bytes = test.assertOk(Bytes.fromArray([0]))
    7. let value = test.assertOk(valueFromCanonical(bytes))
    8. io.writeLine("canonical-ok")
    기대 출력종료 코드 0
    canonical-ok
    
    $ topaz run src/main.tpz --compiler self · 대상 제품 5.21.3
    기대 결과

    기대 결과

    실행을 마칩니다. 종료 코드 0.

    기대 표준 출력
    1. canonical-ok

    This public 5.21.3 example checks host selection with the 5.21 one-argument conversion. Use the maintained application package and unchanged lock.

    Verification

    링크

    메뉴

    다운로드 →