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

    TPZ2009: Rejected module-adjacent form

    The source uses a module export/import composition that Topaz does not support.

    Diagnostic and cause

    Link

    Rejected module-adjacent form

    Family
    topaz
    Phase
    parse
    Code
    TPZ2009

    Cause and conditions

    Choose a namespace alias or a selected import list in one import declaration.

    Response

    Keep the namespace alias and remove the selection list, or select names without a namespace alias. Put export on each public declaration.

    Source evidence

    Compiler phase: parse.

    Compiler explanation: The source uses a module export/import composition that Topaz does not support.

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

    • a namespace alias and a selection list do not compose (import m as ns { x } is invalid syntax) Source
    • export lists are invalid syntax; put export on each public declaration Source
    • re-export syntax does not exist (export import ... is rejected) Source

    Observed for the candidate in Topaz 5.21.3. Execution

    • error[TPZ2009]: a namespace alias and a selection list do not compose (import m as ns { x } is invalid syntax)

    The import combines a namespace alias with a selection list. These are separate import forms. Export lists and re-export declarations also use this diagnostic.

    Rulediagnostics.tpz2009.rule

    Trigger and repair

    Choose a namespace alias or a selected import list in one import declaration.

    Source evidence

    Response

    Link

    Keep the namespace alias and remove the selection list, or select names without a namespace alias. Put export on each public declaration.

    Reproduction and verification

    Link

    Rejected program

    Link
    example.tpzRejected programOpen in Playground
    1. import lib as ns { value }
    Expected outputNonzero exit
    No stdout.
    $ topaz check example.tpz · target product 5.21.3
    lib.tpzRejected programOpen in Playground
    1. export let value = 1
    Expected result

    Expected result

    Rejection during parse. Nonzero exit.

    • TPZ2009 diagnostic-tpz2009 at example.tpz:1:18

    The expected diagnostic, cause, source location, and accompanying diagnostics are specified below. The verification status records whether this program has been run.

    Source evidence

    Corrected program

    Link
    example.tpzCorrected programOpen in Playground
    1. import lib as ns
    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