Size: a a a

Rust — русскоговорящее сообществo

2020 September 08

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
Возможно синтаксис не совсем такой, но "отнаследоваться" от двух трейтов можно
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Julian =) Coffee
trait Angle: Sin, Cos {
}
+, а не ,
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
вафель 🧇
+, а не ,
да, точно
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Julian =) Coffee
Возможно синтаксис не совсем такой, но "отнаследоваться" от двух трейтов можно
Это не наследование, а всё-таки требование реализации/баунд
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
Ну я поэтому и взял в кавычки
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
вафель 🧇
Это не наследование, а всё-таки требование реализации/баунд
То есть получается, что дефолтная реализация от Cos и Sin не перейдет?
источник

P

Pavel in Rust — русскоговорящее сообществo
Julian =) Coffee
То есть получается, что дефолтная реализация от Cos и Sin не перейдет?
она не появится, если её нет
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Julian =) Coffee
То есть получается, что дефолтная реализация от Cos и Sin не перейдет?
Нет. Если нигде нету impl<T: Angle> Cos for T { ... } или impl Cos for Type { ... }, то impl Angle for Type { ... } не скомпилиться
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Это становится очевидным, если вспомнить что

trait A: B {}

это эквивалент

trait A
where
   Self: B,
{}
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
согласен
источник

Д

Дима in Rust — русскоговорящее сообществo
всем привет, можно как-нибудь в match Ok(result) задать тип result?
Например мне надо Vec<String>
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
Так он же выведется
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
Хотя не всегда наверное
источник

Д

Дима in Rust — русскоговорящее сообществo
Julian =) Coffee
Так он же выведется
там вывод из <T>(
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
Я бы мб где-то раньше давал типоводилке указания
источник

JC

Julian =) Coffee in Rust — русскоговорящее сообществo
Либо позже
источник

Д

Дима in Rust — русскоговорящее сообществo
понял, спасибо
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Дима
всем привет, можно как-нибудь в match Ok(result) задать тип result?
Например мне надо Vec<String>
Ok::<_, Error>(val)
источник

в🧇

вафель 🧇 in Rust — русскоговорящее сообществo
Если мне не изменяет память, то можно так, если надо явно ошибку задать
источник

Д

Дима in Rust — русскоговорящее сообществo
вафель 🧇
Ok::<_, Error>(val)
спасибо, попробую!
источник