Порівняння
Ці трейти підтримують порівняння між значеннями. Усі трейти можуть бути визначені для типів, що містять поля, які реалізують ці трейти
PartialEq
та Eq
PartialEq- це відношення часткової еквівалентності, з обов'язковим методом
eqта наданим методом
ne. Оператори
==та
!=` викликають ці методи.
Eq
- це відношення повної еквівалентності (рефлексивне, симетричне та транзитивне) і передбачає PartialEq
. Функції, які вимагають повної еквівалентності, використовуватимуть Eq
як обмеження трейту.
PartialOrd
та Ord
PartialOrd
визначає часткове впорядкування за допомогою методу partial_cmp
. Він використовується для реалізації операторів <
, <=
, >=
та >
.
Ord
- це повне впорядкування, з cmp
який повертає Ordering
.
Speaker Notes
This slide should take about 5 minutes.
PartialEq
може бути реалізовано між різними типами, але Eq
не може, тому що є рефлексивним:
На практиці ці трейти часто виводяться, але рідко реалізуються.