Как мне реализовать Ord для структуры?

Я видел вопрос, похожий на этот, но никто не говорит мне, как именно реализоватьOrd для структуры. Например, следующее:

struct SomeNum {
    name: String,
    value: u32,
}

impl Ord for SomeNum {
    fn cmp(&self, other:&Self) -> Ordering {
        let size1 = self.value;
        let size2 = other.value;
        if size1 > size2 {
            Ordering::Less
        }
        if size1 < size2 {
            Ordering::Greater
        }
        Ordering::Equal
    }
}

Это дает мне ошибку:

error: the trait `core::cmp::Eq` is not implemented for the type `SomeNum` [E0277]

Как бы я это исправить? Я попытался изменить реализацию на:

impl Ord for SomeNum where SomeNum: PartialOrd + PartialEq + Eq {...}

и добавив соответствующийpartial_cmp а такжеeq функции, но это дает мне ошибку, что оба эти метода не являются членамиOrd.

Ответы на вопрос(1)

Ваш ответ на вопрос