Diagnostic and cause
LinkUnknown member or field
- Family
- topaz
- Phase
- check
- Code
TPZ5006
Cause and conditions
A member call must name a member provided by its receiver type. A string call to lenght is rejected with TPZ5006 at the member name; byteLength is an available zero-argument string method.
Related rule: A member call requires a member on its receiverResponse
Check the receiver type and member spelling. Use a declared member or add the required field or method to your type.
Source evidence
- compiler/crates/topaz_diag/src/explain.rs at
151141d7bb44· 642-654 - compiler/crates/topaz_product_runtime/src/diagnostic.rs at
151141d7bb44· 67-67 - compiler/crates/topaz_self_frontend/topaz/checker/expression_control.tpz at
151141d7bb44· 1655-1655 - compiler/crates/topaz_self_frontend/topaz/checker/expression_core.tpz at
151141d7bb44· 1192-1192 - compiler/crates/topaz_self_frontend/topaz/checker/patterns.tpz at
151141d7bb44· 803-803 - compiler/crates/topaz_self_frontend/topaz/checker/call_plan.tpz at
151141d7bb44· 1104-1114 - compiler/crates/topaz_self_frontend/topaz/checker/expression_core.tpz at
151141d7bb44· 1142-1182 - compiler/crates/topaz_self_frontend/topaz/checker/expression_core.tpz at
151141d7bb44· 1387-1402 - compiler/crates/topaz_self_frontend/topaz/checker/expression_core.tpz at
151141d7bb44· 1511-1523 - compiler/crates/topaz_self_frontend/topaz/checker/members_capabilities.tpz at
151141d7bb44· 911-915
Compiler phase: check/runtime.
Compiler explanation: A member access names a field or method that does not exist on the receiver type.
Message templates. The marker ⟨value⟩ stands for text computed for the reported program.
- ⟨value⟩ has no field
⟨value⟩Source
Observed for the candidate in Topaz 5.21.3. Execution
- error[TPZ5006]:
stringhas no member namedlenght
A member call must name a member provided by its receiver type. A string call to lenght is rejected with TPZ5006 at the member name; byteLength is an available zero-argument string method.
A member call requires a member on its receiver
A member call must name a member provided by its receiver type. A string call to lenght is rejected with TPZ5006 at the member name; byteLength is an available zero-argument string method.
Source evidence
- compiler/crates/topaz_self_frontend/topaz/checker/call_plan.tpz at
151141d7bb44· 1104-1114 - compiler/crates/topaz_self_frontend/topaz/checker/expression_core.tpz at
151141d7bb44· 1142-1182 - compiler/crates/topaz_self_frontend/topaz/checker/expression_core.tpz at
151141d7bb44· 1387-1402 - compiler/crates/topaz_self_frontend/topaz/checker/expression_core.tpz at
151141d7bb44· 1511-1523 - compiler/crates/topaz_self_frontend/topaz/checker/members_capabilities.tpz at
151141d7bb44· 911-915
Response
LinkCheck the receiver type and member spelling. Use a declared member or add the required field or method to your type.
Reproduction and verification
LinkRejected program
Linklet text = "Ada"text.lenght()
No stdout.
Expected result
Source evidence
- compiler/crates/topaz_self_frontend/topaz/checker/call_plan.tpz at
151141d7bb44· 1104-1114 - compiler/crates/topaz_self_frontend/topaz/checker/expression_core.tpz at
151141d7bb44· 1142-1182 - compiler/crates/topaz_self_frontend/topaz/checker/expression_core.tpz at
151141d7bb44· 1387-1402 - compiler/crates/topaz_self_frontend/topaz/checker/expression_core.tpz at
151141d7bb44· 1511-1523 - compiler/crates/topaz_self_frontend/topaz/checker/members_capabilities.tpz at
151141d7bb44· 911-915
Repaired program
Linklet text = "Ada"text.byteLength()
Expected result
Expected result
Checking accepts the program. Exit code 0.
Source evidence
- compiler/crates/topaz_self_frontend/topaz/checker/call_plan.tpz at
151141d7bb44· 1104-1114 - compiler/crates/topaz_self_frontend/topaz/checker/expression_core.tpz at
151141d7bb44· 1142-1182 - compiler/crates/topaz_self_frontend/topaz/checker/expression_core.tpz at
151141d7bb44· 1387-1402 - compiler/crates/topaz_self_frontend/topaz/checker/expression_core.tpz at
151141d7bb44· 1511-1523 - compiler/crates/topaz_self_frontend/topaz/checker/members_capabilities.tpz at
151141d7bb44· 911-915