Skip to content

Commit

Permalink
Merge pull request #1370 from rust-lang-ru/gitlocalize-28078
Browse files Browse the repository at this point in the history
Translate ch10-02-traits.md via GitLocalize
  • Loading branch information
ava57r authored Jan 26, 2024
2 parents 8a0dab1 + 6148790 commit 7607d22
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion rustbook-ru/src/ch10-02-traits.md
Original file line number Diff line number Diff line change
Expand Up @@ -194,7 +194,7 @@ fn some_function<T: Display + Clone, U: Clone + Debug>(t: &T, u: &U) -> i32 {

### Использование ограничений типажа для условной реализации методов

Используя ограничение типажа с блоком `impl`, который использует параметры обобщённого типа, можно реализовать методы условно, для тех типов, которые реализуют указанный типаж. Например, тип `Pair<T>` в листинге 10-16 всегда реализует функцию `new` для возврата нового экземпляра `Pair<T>` (вспомните раздел [“Определение методов”]<!-- ignore --> Главы 5 где `Self` является псевдонимом типа для типа блока `impl`, который в данном случае является `Pair<T>`). Но в следующем блоке `impl` тип `Pair<T>` реализует метод `cmp_display` только если его внутренний тип `T` реализует типаж `PartialOrd` (позволяющий сравнивать) *и* типаж `Display` (позволяющий выводить на печать).
Используя ограничение типажа с блоком `impl`, который использует параметры обобщённого типа, можно реализовать методы условно, для тех типов, которые реализуют указанный типаж. Например, тип `Pair<T>` в листинге 10-15 всегда реализует функцию `new` для возврата нового экземпляра `Pair<T>` (вспомните раздел [“Определение методов”]<!-- ignore --> Главы 5 где `Self` является псевдонимом типа для типа блока `impl`, который в данном случае является `Pair<T>`). Но в следующем блоке `impl` тип `Pair<T>` реализует метод `cmp_display` только если его внутренний тип `T` реализует типаж `PartialOrd` (позволяющий сравнивать) *и* типаж `Display` (позволяющий выводить на печать).

<span class="filename">Файл: src/lib.rs</span>

Expand Down

0 comments on commit 7607d22

Please sign in to comment.