как оно в расте реализовано есть ли идея почему отсутствие сравниваемого значение должно считаться "меньше" чем наличие?
Кажется если нет, то то, что это так заимлеменчено в расте, не совсем логично.
ИМХО, разницы больше оно или меньше - никакой, поэтому ни один из вариантов не более "логичен". Но исторически так сложилось, что принято считать None < Some x. Преимущественно потому, что None объявляют раньше Some и оно так автоматически дерайвится. Не только в Rust, но и в OCaml/Haskell, откуда оно позаимствовано.
Обсуждают сегодня