elast0ny / elast0ny/simple_parse

Improve error message for missing #[sp(var_size)] : attempt to compute <...> wich would overflow

Ouverte
#3 0 commentaires 0 réactions 0 personnes assignées Voir sur GitHub
enhancement question
Langage dominant
Rust
Étoiles
13
Forks
1
Métriques de merge des PR
Aucune PR mergée en 30 j

Description

Currently, simple_parse ensures that it does not mistake static/dynamic sizes that it does not know about through the `static_assertions` crate. Unfortunately when a const assert fails, you get an ugly error message that is confusing at best :
```
attempt to compute `0_usize - 1_usize`, which would overflow
```

**This error can be fixed by annotating your dynamic fields with `#[sp(var_size)]`**

It would be nice to have an error that says :

1. Where the annotation is needed (which field of which struct/enum)
2. What needs to be added (the sp attribute above)

This might not be currently possible because of https://github.com/rust-lang/rust/issues/51999

Guide de contribution

Aucun guide de contribution indexé pour ce dépôt

Piste de recherche

Commencez par suivre le chemin de vérification de la taille de simple_parse et son utilisation du crate static_assertions, puis examinez Rust issue #51999 pour les limitations de diagnostic qui y sont mentionnées. Le travail est considéré comme terminé lorsque la sortie d’overflow déroutante est remplacée par une erreur identifiant le champ de la struct ou de l’enum et recommandant #[sp(var_size)] lorsque c’est possible.

Rédigé par le modèle d'indexation à partir du texte de l'issue.

Évaluation

Stack technique
rust
Domaine
compilers
Type d'issue
Fonctionnalité
Difficulté
4/5
Temps estimé
3-5 jours
Activité
À l'abandon
Clarté
Plutôt claire
Accessibilité débutants
35/100

Recevez les nouvelles issues par e-mail

Un résumé court des issues GitHub adaptées aux débutants.