Diagnostic and cause
링크Native emitter cannot lower this construct yet
- 계열
- topaz
- 단계
- emit
- 코드
TPZ6001
원인과 조건
A multiple-rest list pattern retains the established TPZ6001 emission-refusal expectation. A single-rest list pattern has supported Rust emission. The language admission policy for multiple rests remains open.
관련 규칙 · Multiple list rests and emission refusal →대응
Use one rest element per list pattern. Match additional structure inside that remainder when it is needed.
Compiler phase: emit.
Compiler explanation: The program is accepted by the language, but the selected native emit path lacks a proven lowering for this construct.
Message templates are Pending. The explanation above is not an observed CLI message.
A multiple-rest list pattern retains the established TPZ6001 emission-refusal expectation. A single-rest list pattern has supported Rust emission. The language admission policy for multiple rests remains open.
Multiple list rests and emission refusal
A multiple-rest list pattern retains the established TPZ6001 emission-refusal expectation. A single-rest list pattern has supported Rust emission. The language admission policy for multiple rests remains open.
Response
링크Use one rest element per list pattern. Match additional structure inside that remainder when it is needed.
Reproduction and verification
링크Rejected program
링크let value = match ([1, 2]) {case [..left, ..right] => 0case _ => 1}
기대 결과
The established Rust backend reports the multiple-rest-emission-refusal cause. Current SELF emits several Rust slice rests without establishing that refusal. The P5 runtime/emit product runner preserves TPZ6001 and nonzero; the exact primary location remains pending. These examples do not decide whether the language should admit multiple rests.
Repaired program
링크let value = match ([1, 2]) {case [first, ..rest] => 0case _ => 1}
기대 결과
기대 결과
검사가 프로그램을 받아들입니다. 종료 코드 0.
The established Rust backend reports the multiple-rest-emission-refusal cause. Current SELF emits several Rust slice rests without establishing that refusal. The P5 runtime/emit product runner preserves TPZ6001 and nonzero; the exact primary location remains pending. These examples do not decide whether the language should admit multiple rests.