Size: a a a

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

2020 October 27

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
О, у них есть финансовый отчёт. Эпично.
источник

ΑZ

Αλεχ Zhukovsky in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Я не понял ценообразования билетов
не понимаю целесообразность конф
источник

M

Maxim Bogdanov in Rust — русскоговорящее сообществo
пытаюсь реализовать несколько трейтов и вызвать метод одного из другого. код рабочий, но вот Идея не видит в упор ссылки на self.b Возможно есть какой-то хинтинг для этого?
источник

K

Kitsu in Rust — русскоговорящее сообществo
Maxim Bogdanov
пытаюсь реализовать несколько трейтов и вызвать метод одного из другого. код рабочий, но вот Идея не видит в упор ссылки на self.b Возможно есть какой-то хинтинг для этого?
как недорешение можешь попробовать заменить на fully-qualified вызов, т.е. <Self as B>::b(&self)
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Maxim Bogdanov
пытаюсь реализовать несколько трейтов и вызвать метод одного из другого. код рабочий, но вот Идея не видит в упор ссылки на self.b Возможно есть какой-то хинтинг для этого?
трейты не будут знать друг о друге пока ты им не расскажешь
источник

M

Maxim Bogdanov in Rust — русскоговорящее сообществo
Boris Vinogradov
трейты не будут знать друг о друге пока ты им не расскажешь
так вот в этом и вопрос, может я могу рассказать на этапе их декларации
источник

M

Maxim Bogdanov in Rust — русскоговорящее сообществo
иначе автокомплит в редакторе вообще неюзабильным становится
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Maxim Bogdanov
так вот в этом и вопрос, может я могу рассказать на этапе их декларации
да у тебя для этого есть синтаксис: trait A: B {} теперь A будет требовать реализацию и  B и следовательно мочь вызывать его интерфейс
источник

M

Maxim Bogdanov in Rust — русскоговорящее сообществo
Boris Vinogradov
да у тебя для этого есть синтаксис: trait A: B {} теперь A будет требовать реализацию и  B и следовательно мочь вызывать его интерфейс
я понимаю, но идея то в том, чтобы разнести реализации двух разных трейтов  в разные места 🙂 Может так не практикуется, не знаю.
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Maxim Bogdanov
я понимаю, но идея то в том, чтобы разнести реализации двух разных трейтов  в разные места 🙂 Может так не практикуется, не знаю.
разносить можно как угодно
источник

K

Kitsu in Rust — русскоговорящее сообществo
Boris Vinogradov
трейты не будут знать друг о друге пока ты им не расскажешь
А причем тут знание трейтов о друг друге? Там же импл для явного типа
источник

M

Maxim Bogdanov in Rust — русскоговорящее сообществo
Kitsu
как недорешение можешь попробовать заменить на fully-qualified вызов, т.е. <Self as B>::b(&self)
омг ну это конечно не выглядт эстетично 🙂
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Kitsu
А причем тут знание трейтов о друг друге? Там же импл для явного типа
иии? как одна имплентация будет знать о свойствах других?
источник

K

Kitsu in Rust — русскоговорящее сообществo
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=66e8b614310d9e6544f90cd9036cc3c2
все работает ж, просто что-то не так с идеей или я что-то не понял
источник

K

Kitsu in Rust — русскоговорящее сообществo
Boris Vinogradov
иии? как одна имплентация будет знать о свойствах других?
там тип один, i.e for u32
источник

M

Maxim Bogdanov in Rust — русскоговорящее сообществo
да с идеей всё так, она реально не знает, что это вообще за self.b Я думал, может как-то можно на этапе имплементации указать, что вот мы щас имплементим трейт A к объекту, у которого также имплементится трейт B
источник

X

XÆA-XII in Rust — русскоговорящее сообществo
источник

BV

Boris Vinogradov in Rust — русскоговорящее сообществo
Kitsu
там тип один, i.e for u32
иии? но трейты разные и они как бы живут независимо
источник

M

Maxim Bogdanov in Rust — русскоговорящее сообществo
rust analizer вроде как понимает что u32 реализует оба трейта в итоге, а вот идея не справляется
источник

K

Kitsu in Rust — русскоговорящее сообществo
Boris Vinogradov
иии? но трейты разные и они как бы живут независимо
Так для self есть доступ ко всем реализованным для него трейтам
см плейграунд выше
источник