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

    TPZ0002: Retired in 6.0.0

    TPZ0002 is retired in Topaz 6.0.0 and remains reserved for its former meaning, an unterminated block comment. It must not be emitted or assigned a new meaning.

    Diagnostic and cause

    Link

    Unterminated block comment

    Family
    topaz
    Phase
    lex
    Code
    TPZ0002

    Cause and conditions

    Response

    Write each comment line with //. At the start of an expression, the former /* opener produces TPZ2001 during parsing.

    Source evidence

    Historical compiler facts for the reserved code. These facts describe the former diagnostic, not a 6.0.0 trigger.

    Compiler phase: lex.

    Compiler explanation: A block comment reached the end of input before its closing delimiter.

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

    • unterminated block comment Source

    Observed for the candidate in Topaz 5.21.3. Execution

    • error[TPZ0002]: unterminated block comment

    TPZ0002 is retired in Topaz 6.0.0 and remains reserved for its former meaning, an unterminated block comment. It must not be emitted or assigned a new meaning.

    Rulediagnostics.tpz0002.rule

    Reserved code and current rejection

    TPZ0002 is retired in Topaz 6.0.0. Its code and former meaning remain reserved and must not be reused. Source comments begin with //. Outside a string or line comment, /* supplies the ordinary / and * tokens. At the start of a statement or expression, this sequence produces TPZ2001 in the parse phase. Adding a closing */ does not make it a comment. Whitespace between / and * does not give the sequence a comment meaning.

    Why

    One comment spelling makes ignored source text unambiguous. The line-comments-only decision selects //. A retired code keeps its old meaning so stored diagnostics and links remain understandable. Invalid expression tokens use the existing parse diagnostic, which also applies when whitespace separates them.

    Source evidence

    Response

    Link

    Write each comment line with //. At the start of an expression, the former /* opener produces TPZ2001 during parsing.

    Reproduction and verification

    Link

    Rejected program

    Link
    example.tpzRejected programOpen in Playground
    1. /* unfinished comment
    Expected outputNonzero exit
    No stdout.
    $ topaz check example.tpz · target product 5.21.3
    Expected result

    Expected result

    Rejection during parse. Nonzero exit.

    • TPZ2001 diagnostic-tpz2001 at example.tpz:1:1

    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. // finished comment
    Expected outputexit 0
    No stdout.
    $ topaz check example.tpz --format json · target product 5.21.3
    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

    Current diagnostic

    Link

    Unexpected token

    Menu

    Download