Skip to content
Topaz6.0 · Before release
Download

Search documentation

Specification 6.0 · Not released · Tested product 5.21.3

Use arrow keys to choose a result. Press Enter to open.

Type an API name, diagnostic number, rule, or project topic.

    Diagnostics

    TPZ3003: Module source is too large

    A module source exceeds the compiler's bounded source-map size.

    Diagnostic and cause

    Link

    Module source is too large

    Family
    topaz
    Phase
    resolve
    Code
    TPZ3003

    Cause and conditions

    An imported file that is not valid UTF-8 produces TPZ3003 at its import path.

    Response

    Save the source as valid UTF-8 and make the module file and its containing directories readable. For a size-related failure, split the source into smaller modules.

    Source evidence

    Compiler phase: resolve.

    Compiler explanation: A module source exceeds the compiler's bounded source-map size.

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

    • cannot load entry ⟨value⟩: ⟨value⟩ Source
    • cannot load entry ⟨value⟩: source is not valid UTF-8 Source
    • cannot inspect module path for ⟨value⟩: ⟨value⟩ Source

    The resolver cannot read a source file or inspect a module directory. Invalid UTF-8 produces this diagnostic as well. The reproduction replaces lib.tpz with the single byte ff.

    Rulediagnostics.tpz3003.rule

    Trigger and repair

    An imported file that is not valid UTF-8 produces TPZ3003 at its import path.

    Source evidence

    Response

    Link

    Save the source as valid UTF-8 and make the module file and its containing directories readable. For a size-related failure, split the source into smaller modules.

    Reproduction and verification

    Link

    Product diagnostic test

    Link
    example.tpzProduct diagnostic testOpen in Playground
    1. import lib
    target product 5.21.3
    Expected result

    Expected result

    The separate diagnostic product test validates this command, runtime diagnostic, or filesystem setup. The shared example runner does not execute that assertion plan.

    Prepare the files shown above, then complete this setup.

    Write the hexadecimal byte sequence ff to lib.tpz.

    Run topaz check example.tpz --language-version 5.21.

    Expect exit status 1, empty standard output, and TPZ3003.

    The resolver cannot read a source file or inspect a module directory. Invalid UTF-8 produces this diagnostic as well. The reproduction replaces lib.tpz with the single byte ff.

    The primary location is example.tpz:1:8.

    Expect exactly one diagnostic.

    The diagnostic product test checks these expectations with the same files and command.

    Source evidence

    Corrected program

    Link
    example.tpzCorrected programOpen in Playground
    1. import lib
    Expected outputexit 0
    $ topaz check example.tpz · target product 5.21.3
    lib.tpzCorrected programOpen in Playground
    1. export let value = 1
    Expected result

    Expected result

    Checking accepts the program. Exit code 0.

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

    Source evidence

    Menu

    Download