Défi
Énoncé
Déclarer la struct Point { x: i32, y: i32 }. Implémenter le trait std::fmt::Display pour Point de sorte que println!("{}", p) produise la chaîne (x, y) où x et y sont les valeurs des champs. La méthode fmt écrit dans le Formatter via write!. Dans main, créer deux instances de Point et les afficher avec println! pour valider l'implémentation.
Contraintes
- Compilé avec
rustc --edition=2021 main.rs. - Implémenter
std::fmt::Display(pas seulementDebug). - Le format de sortie est exactement
(x, y)avec les parenthèses, la virgule et l'espace. - Ne pas
#[derive(Display)]: l'implémentation manuelle est requise. - La struct peut dériver
Debuglibrement.
Exemple
Pour les points de coordonnées (3, -7) puis (0, 0), sortie attendue :
(3, -7)
(0, 0)
Si println!("{}", p) ne compile pas, c'est que seul Debug a été implémenté.