Avatar ·

Comment comparer deux valeurs enum en Rust sans utiliser match ?

Bonjour ! J'ai commencé à apprendre Rust et j'ai rencontré un problème en travaillant avec les enum. J'ai une énumération représentant le statut d'une commande : ```rust #[derive(Debug)] enum OrderStatus { Pending, Processing, Shipped, Delivered, Cancelled, } ``` J'ai simplement besoin de vérifier si le statut actuel est égal à une variante spécifique, par exemple `Pending`. Dans d'autres langages (C++, Java), je pourrais écrire `if (status == OrderStatus::Pending)`, mais en Rust cela ne fonctionne pas : ```rust let status = OrderStatus::Pending; if status == OrderStatus::Pending { println!("La commande attend le traitement"); } ``` Le compilateur renvoie une erreur : `binary operation `==` cannot be applied to type `OrderStatus``. Je comprends que je peux utiliser `match`, mais pour une vérification aussi simple, cela semble trop