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

문서 검색

명세 6.0

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

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

    진단 TPZ5533

    JSON.stringify or a JSON encode path received a type outside the supported deterministic JSON shape.

    Diagnostic and cause

    링크

    Type is not JSON encodable

    계열
    topaz
    단계
    check
    코드
    TPZ5533

    원인과 조건

    json.stringify requires a JSON-encodable argument type. Passing a function value is rejected with TPZ5533; passing the function's integer result is accepted.

    대응

    Project the value into supported JSON data. Encode its data fields instead of passing behavior or opaque host values.

    Compiler phase: check.

    Compiler explanation: JSON.stringify or a JSON encode path received a type outside the supported deterministic JSON shape.

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

    • ⟨value⟩ is not JSON-encodable, so json.stringify cannot encode it Source

    json.stringify requires a JSON-encodable argument type. Passing a function value is rejected with TPZ5533; passing the function's integer result is accepted.

    규칙diagnostics.tpz5533.p5.rule

    Type is not JSON encodable

    json.stringify requires a JSON-encodable argument type. Passing a function value is rejected with TPZ5533; passing the function's integer result is accepted.

    Response

    링크

    Project the value into supported JSON data. Encode its data fields instead of passing behavior or opaque host values.

    Reproduction and verification

    링크

    Rejected program

    링크
    example.tpzRejected program플레이그라운드 열기 →
    1. import std.json
    2. function compute() -> int { 1 }
    3. let encoded = json.stringify(compute)
    기대 출력0이 아닌 종료 코드
    표준 출력 없음.
    $ topaz check example.tpz · 대상 제품 5.21.3
    기대 결과

    기대 결과

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

    Repaired program

    링크
    example.tpzRepaired program
    1. import std.json
    2. function compute() -> int { 1 }
    3. let encoded = json.stringify(compute())
    기대 출력종료 코드 0
    $ topaz check example.tpz · 대상 제품 5.21.3
    기대 결과

    기대 결과

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

    메뉴

    다운로드 →