/
githubmirror
/
sway
Обзор
Документация
Войти
/
githubmirror
/
sway
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
examples/traits/src/main.sw
43 строки
708 B
Chris-san
bug: Update `swayfmt::Config` & remove partial implementations (#5193)
01 ноя 2023, 06:39
Не верифицирован
01 ноя 2023, 06:39
c32934b
Код
Авторство
О чём код?
library; // ANCHOR: trait_definition trait Convert<T> { fn from(t: T) -> Self; } // ANCHOR_END: trait_definition // ANCHOR: trait_impl struct Square { width: u64, } struct Rectangle { width: u64, length: u64, } impl Convert<Square> for Rectangle { fn from(t: Square) -> Self { Self { width: t.width, length: t.width, } } } // ANCHOR_END: trait_impl // ANCHOR: trait_usage fn main() { let s = Square { width: 5 }; let r = Rectangle::from(s); } // ANCHOR_END: trait_usage // ANCHOR: trait_constraint fn into_rectangle<T>(t: T) -> Rectangle where Rectangle: Convert<T>, { Rectangle::from(t) } // ANCHOR_END: trait_constraint