cpubits: single 16 => { ... } macro arm fails expansion with error: no rules expected ','
Les mainteneurs répondent en général sous 1 jour
Personne n'a encore pris cette issue.
Évaluation
- Difficulté
- 2/5
- Temps estimé
- 1-3 heures
- Accessibilité débutants
- 82/100
Piste de recherche
Commence par repérer la définition de la macro cpubits! dans le crate cpubits et compare le chemin d’expansion de 16 => { ... } avec les formes fonctionnelles à une seule branche 32 et 64. La reproduction de l’issue est la première chose à compiler ; le travail est terminé lorsqu’elle compile et que les formes fonctionnelles répertoriées continuent de compiler.
Rédigé par le modèle d'indexation à partir du texte de l'issue.
Description
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
- Langage dominant
- Rust
- Étoiles
- 688
- Forks
- 177
- Merge moyen
- 2 h 31 min
- PR mergées (30 j)
- 31
Préparer son environnement
Ce projet ne fournit ni conteneur de développement, ni Dockerfile, ni guide de contribution : l'installation est à votre charge. Commencez par son README, et consultez notre guide de la première contribution pour les étapes générales.
Par où commencer
- Lisez l'issue en entier, puis le guide de contribution du projet.
- Signalez en commentaire que vous la prenez — cela évite que deux personnes fassent le même travail.
- Forkez le dépôt et travaillez sur une branche.
- Ouvrez une pull request qui référence le numéro de l'issue.
Autres issues de RustCrypto/utils
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
RustCrypto/utils#1555 · 3 commentaires ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 75/100
RustCrypto/utils#1546 · 1 commentaire ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 59/100
RustCrypto/utils#1589 ·
Les mainteneurs répondent en général sous 1 jour
-
inout: improve test coverageOuverte
Difficulté 4/5 3-5 jours Accessibilité débutants 42/100
RustCrypto/utils#1562 ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 3/5 1-2 jours Accessibilité débutants 55/100
RustCrypto/utils#1537 · 7 commentaires ·
Les mainteneurs répondent en général sous 1 jour
Toutes les issues de RustCrypto/utils
Issues similaires
-
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
Les mainteneurs répondent en général sous 1 jour
-
Non-`main` default branchesOuverte
Difficulté 2/5 1-3 heures Accessibilité débutants 68/100
max-sixty/worktrunk#4727 · 7 commentaires · 1 réaction ·
Les mainteneurs répondent en général sous 1 jour
-
Difficulté 2/5 1-3 heures Accessibilité débutants 86/100
Les mainteneurs répondent en général sous 1 jour
-
follow-up
Difficulté 2/5 1-3 heures Accessibilité débutants 73/100
carrick-sh/carrick#1859 ·
Les mainteneurs répondent en général sous 1 jour
-
crate: spate-kafka documentation priority: medium
Difficulté 1/5 Moins d'une heure Accessibilité débutants 88/100
Les mainteneurs répondent en général sous 1 jour