Diagnostic and cause
LinkUnknown template tag
- Family
- topaz
- Phase
- parse
- Code
TPZ2002
Cause and conditions
During parsing, TPZ2002 reports an unrecognized identifier immediately before a string delimiter. The template tag rule defines the permitted prefixes.
Response
Remove the prefix for an ordinary string, or choose a registered prefix from the template tag rule for the intended template operation.
Source evidence
- compiler/crates/topaz_diag/src/explain.rs at
151141d7bb44· 225-237 - compiler/crates/topaz_self_frontend/topaz/parser/core.tpz at
151141d7bb44· 349-349 - compiler/crates/topaz_self_frontend/topaz/parser/core.tpz at
151141d7bb44· 332-355 - TPZ2002 at
151141d7bb44
Compiler phase: parse.
Compiler explanation: A tagged template used a tag that is not in the built-in template registry.
Message templates. The marker ⟨value⟩ stands for text computed for the reported program.
- unknown template tag
⟨value⟩; the registry isp,r,sh,sqlSource
Observed for the candidate in Topaz 5.21.3. Execution
- error[TPZ2002]: unknown template tag
html; the registry isp,r,sh,sql
During parsing, TPZ2002 reports an unrecognized identifier immediately before a string delimiter. The template tag rule defines the permitted prefixes.
Trigger and repair
During parsing, TPZ2002 reports an unrecognized identifier immediately before a string delimiter. The template tag rule defines the permitted prefixes.
Source evidence
- compiler/crates/topaz_self_frontend/topaz/parser/core.tpz at
151141d7bb44· 332-355 - TPZ2002 at
151141d7bb44
Response
LinkRemove the prefix for an ordinary string, or choose a registered prefix from the template tag rule for the intended template operation.
Reproduction and verification
LinkRejected program
Linklet message = html"<p>Hello</p>"
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· 225-237 - compiler/crates/topaz_self_frontend/topaz/parser/core.tpz at
151141d7bb44· 349-349 - compiler/crates/topaz_self_frontend/topaz/parser/core.tpz at
151141d7bb44· 332-355 - TPZ2002 at
151141d7bb44
Corrected program
Linklet message = "<p>Hello</p>"
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/parser/core.tpz at
151141d7bb44· 332-355 - TPZ2002 at
151141d7bb44