cpubits: single 16 => { ... } macro arm fails expansion with error: no rules expected ','
I maintainer di solito rispondono entro 1 giorno
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 2/5
- Tempo stimato
- 1-3 ore
- Idoneità per principianti
- 82/100
Direzione di ricerca
Inizia individuando la definizione della macro cpubits! nel crate cpubits e confronta il percorso di espansione di 16 => { ... } con le forme funzionanti a ramo singolo 32 e 64. La riproduzione nell’issue è la prima cosa da compilare; il lavoro è concluso quando compila e le forme funzionanti elencate continuano a compilare.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Component
cpubits (v0.1.1)
Description
Calling the cpubits! macro with only the 16-bit branch (single 16) fails to expand at compile time with a syntax error. Other single-branch forms (32 => { ... } and 64 => { ... }), pairs, and the full triple compile as expected.
Minimal Reproduction Example
use cpubits::cpubits;
cpubits! {
16 => {
pub type Word = u16;
}
}
fn main() {}
Compiler Output
error: no rules expected `,`
--> src/main.rs:3:1
|
3 | / cpubits! {
4 | | 16 => {
5 | | pub type Word = u16;
6 | | }
7 | | }
| |_^ no rules expected this token in macro call
|
= note: this error originates in the macro `cpubits::cpubits`
Root Cause
During macro expansion of the single 16 => { ... } pattern, the macro inserts a comma after its first generated branch, but the internal two-branch/downstream matcher in cpubits! does not accept a comma at that position.
Observed shapes probe results:
single16: ❌exit 1(error: no rules expected ',')single32: ✅exit 0single64: ✅exit 0group16_32: ✅exit 0group32_64: ✅exit 0pair16_32: ✅exit 0pair32_64: ✅exit 0triple: ✅exit 0
- Lingua principale
- Rust
- Stelle
- 688
- Fork
- 177
- Merge medio
- 2h 31m
- PR unite (30g)
- 31
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di RustCrypto/utils
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
RustCrypto/utils#1555 · 3 commenti ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 75/100
RustCrypto/utils#1546 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 59/100
RustCrypto/utils#1589 ·
I maintainer di solito rispondono entro 1 giorno
-
inout: improve test coverageAperta
Difficoltà 4/5 3-5 giorni Idoneità per principianti 42/100
RustCrypto/utils#1562 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 3/5 1-2 giorni Idoneità per principianti 55/100
RustCrypto/utils#1537 · 7 commenti ·
I maintainer di solito rispondono entro 1 giorno
Tutte le issue di RustCrypto/utils
Issue simili
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
I maintainer di solito rispondono entro 1 giorno
-
Non-`main` default branchesAperta
Difficoltà 2/5 1-3 ore Idoneità per principianti 68/100
max-sixty/worktrunk#4727 · 7 commenti · 1 reazione ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 86/100
I maintainer di solito rispondono entro 1 giorno
-
follow-up
Difficoltà 2/5 1-3 ore Idoneità per principianti 73/100
carrick-sh/carrick#1859 ·
I maintainer di solito rispondono entro 1 giorno
-
crate: spate-kafka documentation priority: medium
Difficoltà 1/5 Meno di un'ora Idoneità per principianti 88/100
I maintainer di solito rispondono entro 1 giorno