Diagnostic and cause
LinkUnterminated string
- Family
- topaz
- Phase
- lex
- Code
TPZ0003
Cause and conditions
A single-line string must close before its line break. An unclosed string produces TPZ0003 at its opening delimiter.
Related rule: Trigger and repairResponse
Match the opening and closing delimiters and finish any interpolation. Escape a delimiter that belongs in the text.
Source evidence
- compiler/crates/topaz_diag/src/explain.rs at
151141d7bb44· 161-169 - compiler/crates/topaz_self_frontend/topaz/raw.tpz at
151141d7bb44· 312-312 - compiler/crates/topaz_self_frontend/topaz/raw.tpz at
151141d7bb44· 304-318 - compiler/crates/topaz_self_frontend/topaz/raw.tpz at
151141d7bb44· 400-409 - TPZ0003 at
151141d7bb44
Compiler phase: lex.
Compiler explanation: A string or template literal ended before its closing delimiter.
Message templates are Pending. The explanation above is not an observed CLI message.
Observed for the candidate in Topaz 5.21.3. Execution
- error[TPZ0003]: single-line string literal is not closed before the line break
The single-line string in the example reaches a line break before a closing quote. The lexer reports the opening delimiter.
Trigger and repair
A single-line string must close before its line break. An unclosed string produces TPZ0003 at its opening delimiter.
Source evidence
- compiler/crates/topaz_self_frontend/topaz/raw.tpz at
151141d7bb44· 304-318 - compiler/crates/topaz_self_frontend/topaz/raw.tpz at
151141d7bb44· 400-409 - TPZ0003 at
151141d7bb44
Response
LinkMatch the opening and closing delimiters and finish any interpolation. Escape a delimiter that belongs in the text.
Reproduction and verification
LinkRejected program
Linklet message = "unfinished
No stdout.
Expected result
The expected diagnostic, cause, source location, and accompanying diagnostics are specified below. The verification status records whether this program has been run.
Source evidence
- compiler/crates/topaz_diag/src/explain.rs at
151141d7bb44· 161-169 - compiler/crates/topaz_self_frontend/topaz/raw.tpz at
151141d7bb44· 312-312 - compiler/crates/topaz_self_frontend/topaz/raw.tpz at
151141d7bb44· 304-318 - compiler/crates/topaz_self_frontend/topaz/raw.tpz at
151141d7bb44· 400-409 - TPZ0003 at
151141d7bb44
Corrected program
Linklet message = "unfinished"
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
- compiler/crates/topaz_self_frontend/topaz/raw.tpz at
151141d7bb44· 304-318 - compiler/crates/topaz_self_frontend/topaz/raw.tpz at
151141d7bb44· 400-409 - TPZ0003 at
151141d7bb44