Size: a a a

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

2020 September 29

Э

Эрик in Rust — русскоговорящее сообществo
Не, если у Inner нет никаких трейтов, чтобы юзер мог T: Trait делать, то оно как бы и не очень нужно.
источник

Э

Эрик in Rust — русскоговорящее сообществo
У Arguments таки немного другая ситуация, он impl Display.
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
Эрик
Не, если у Inner нет никаких трейтов, чтобы юзер мог T: Trait делать, то оно как бы и не очень нужно.
Inner просто возвращает внутреннее состояние объекта, к которому я не хочу давать доступ для пользователя.

Смысл всех этих приседаний был в том, чтобы заимплементить некий набор функций с одинаковой имплементацией для нескольких объектов в моем крейте, не используя макросов
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
Это разные по смыслу объекты, но у них есть набор одинаковых совершенно копипаст-методов над внутренним состоянием
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
Кстати, давно хотел вот какую вещь спросить. Когда имеет смысл использовать #[inline] и #[inline(always)]?
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
(это безотносительно предыдущей темы)
источник

Э

Эрик in Rust — русскоговорящее сообществo
Ilya Lakhin
Кстати, давно хотел вот какую вещь спросить. Когда имеет смысл использовать #[inline] и #[inline(always)]?
Когда у тебя функция от одной до пяти строк, которую может вызвать внешний юзер.
источник

Э

Эрик in Rust — русскоговорящее сообществo
(always) вообще не стоит, если только не было проверок на регрессию по сравнению с #[inline]
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
ок
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
Ну я в принципе так и делаю
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Оно в смысле через weak пометит если это pub метод?
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Почему внешний юзер?
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Я думал в расте нет одр
источник

Э

Эрик in Rust — русскоговорящее сообществo
Dollar Føølish
Оно в смысле через weak пометит если это pub метод?
/crate/src/lib.rs

#[inline] // <- yes
pub fn qwe() {}

#[inline] // <- no
fn bar() {}
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Што ето
источник

IL

Ilya Lakhin in Rust — русскоговорящее сообществo
А что плохого в том, чтобы приватный пометить?
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Эрик
Я с гита ставлю через дефолтную сборку cargo xtask install --server.
Обновил, теперь работает
Правда, курсор не перекидывает в нужное место
источник

Э

Эрик in Rust — русскоговорящее сообществo
Не, можно и на внутренние вешать, но там обычно компилятор и без инлайна разбирается, чего делать с функциями.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Emmanuel Goldstein
Обновил, теперь работает
Правда, курсор не перекидывает в нужное место
А чего CoC.vim не ставишь?
источник

DF

Dollar Føølish in Rust — русскоговорящее сообществo
Значит пометит weak раз между крейтами
источник