#![allow(dead_code, deprecated, unused_variables, unused_mut)] use std::cmp::Ordering; #[derive(PartialEq, Debug)] struct Character { health: u32, experience: u32, } impl PartialOrd for Character { fn partial_cmp(&self, other: &Self) -> Option { Some(self.health.cmp(&other.health)) } } fn main() { let a = Character { health: 10, experience: 5, }; let b = Character { health: 10, experience: 77, }; assert_eq!(a.partial_cmp(& b).unwrap(), Ordering::Equal); assert_ne!(a, b); }