cpubits: single 16 => { ... } macro arm fails expansion with error: no rules expected ','
Mantenedores costumam responder em até 1 dia
Ninguém assumiu esta issue ainda.
Avaliação
- Dificuldade
- 2/5
- Tempo estimado
- 1-3 horas
- Facilidade para iniciantes
- 82/100
Direção de pesquisa
Comece localizando a definição da macro cpubits! no crate cpubits e compare o caminho de expansão de 16 => { ... } com as formas funcionais de ramo único 32 e 64. A reprodução na issue é a primeira coisa a compilar; o trabalho está concluído quando ela compilar e as formas funcionais listadas continuarem compilando.
Escrita pelo modelo de indexação a partir do texto da issue.
Descrição
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
- Linguagem predominante
- Rust
- Estrelas
- 688
- Forks
- 177
- Merge médio
- 2h 31min
- PRs com merge (30d)
- 31
Preparar o ambiente
Este projeto não oferece contêiner de desenvolvimento, Dockerfile nem guia de contribuição, então a configuração fica por sua conta: comece pelo README e veja nosso guia da primeira contribuição para os passos gerais.
Primeiros passos
- Leia a issue inteira e depois o guia de contribuição do projeto.
- Comente na issue dizendo que vai assumir — evita que duas pessoas façam o mesmo trabalho.
- Faça um fork do repositório e trabalhe em uma branch.
- Abra um pull request que referencie o número da issue.
Mais de RustCrypto/utils
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
RustCrypto/utils#1555 · 3 comentários ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 75/100
RustCrypto/utils#1546 · 1 comentário ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 59/100
RustCrypto/utils#1589 ·
Mantenedores costumam responder em até 1 dia
-
inout: improve test coverageAberta
Dificuldade 4/5 3-5 dias Facilidade para iniciantes 42/100
RustCrypto/utils#1562 ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 3/5 1-2 dias Facilidade para iniciantes 55/100
RustCrypto/utils#1537 · 7 comentários ·
Mantenedores costumam responder em até 1 dia
Todas as issues de RustCrypto/utils
Issues semelhantes
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
Mantenedores costumam responder em até 1 dia
-
Non-`main` default branchesAberta
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 68/100
max-sixty/worktrunk#4727 · 7 comentários · 1 reação ·
Mantenedores costumam responder em até 1 dia
-
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 86/100
Mantenedores costumam responder em até 1 dia
-
follow-up
Dificuldade 2/5 1-3 horas Facilidade para iniciantes 73/100
carrick-sh/carrick#1859 ·
Mantenedores costumam responder em até 1 dia
-
crate: spate-kafka documentation priority: medium
Dificuldade 1/5 Menos de uma hora Facilidade para iniciantes 88/100
Mantenedores costumam responder em até 1 dia