Size: a a a

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

2020 October 22

KR

Kai Ren in Rust — русскоговорящее сообществo
Но похоже я что-то мудрю и mem::forget действительно подходит.
Ладно, спасибо всем
источник

KR

Kai Ren in Rust — русскоговорящее сообществo
Судя по этому:
https://doc.rust-lang.org/std/mem/fn.forget.html#relationship-with-manuallydrop

Там даже лучше ManuallyDrop юзнуть.
источник

KB

Kirill Bulatov in Rust — русскоговорящее сообществo
Andrey @ozkriff Lesnikóv
https://intellij-rust.github.io/assets/posts/changelog-133/5189.gif

"Support configuring workspace features in Cargo.toml. Now it is possible to enable or disable any specific workspace feature in the Cargo.toml file, and Go to Declaration and other code insight features will take them into account."

клевую штуку в ijrust завозят
Офигенно.
Эх, RA и vscode пилить и пилить до такого.
источник

DL

Dara Lala in Rust — русскоговорящее сообществo
After running the script
источник

b

in Rust — русскоговорящее сообществo
Kirill Bulatov
Офигенно.
Эх, RA и vscode пилить и пилить до такого.
RA же умеет go-def
источник

AL

Andrey @ozkriff Lesn... in Rust — русскоговорящее сообществo
RA же умеет go-def
новый функционал - это включение-выключение фич в проекте галками, если что.
источник

Э

Эрик in Rust — русскоговорящее сообществo
RA же умеет go-def
Фичи переключать не умеет. И ещё долго не сможет, скорее всего, потому что всё-таки обвязка под блокнот.
источник

KB

Kirill Bulatov in Rust — русскоговорящее сообществo
RA же умеет go-def
Там, на гифке — живое переключение фич в Cargo.toml, приводящее к обновлению всяких данных о проекте.
Причём ещё и для крейтов сделанное, всё с довольно очевидным ui и без перезагрузок.
Если ещё инкрементально обновлять кеши умеет, то вообще идеально же.

В ra go to definition работает, но менять фичи — через настройки, там в строку, по одной их забивать нужно, после каждой такой замены нужно рестартовать сервер.
Сам toml RA не парсит и хз когда научится, пока всё работает на выводе команд cargo
Поддержка фич (и, вообще, cfg) — куцая и потребует ещё не одну допилку и рефакторинг.
источник

AL

Andrey @ozkriff Lesn... in Rust — русскоговорящее сообществo
(кстати, мило, что в причесывании ПРа и matklad активно поучаствовал)
источник

KB

Kirill Bulatov in Rust — русскоговорящее сообществo
А ещё в самом vscode даже gutter нет, так что забацать модных иконок "как в ide у JetBrains" на левый край редактора до сих пор нельзя, лол.

Так и живём.
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
Эрик
Фичи переключать не умеет. И ещё долго не сможет, скорее всего, потому что всё-таки обвязка под блокнот.
Что такое "обвязка под блокнот"?
источник

b

in Rust — русскоговорящее сообществo
Я не вижу переключений помимо визуального отключения подсветки для «отключенных» фьюч
или переключение в этом и заключается?
источник

KB

Kirill Bulatov in Rust — русскоговорящее сообществo
Соответствующие куски кода тоже отключаются, это влияет на различные completion'ы, go to def и прочую умную лабуду про код  с тем набором фич, которые ты натыкал.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Kai Ren
mem::transmute_copy не хотелось бы юзать, ибо нужен мув.
Заверни в юнион
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
union F<T, U> {
   x: ManuallyDrop<T>,
   y: ManuallyDrop<U>
}

return F { x: ManuallyDrop::new(a)}.y.into_inner()
источник

KR

Kai Ren in Rust — русскоговорящее сообществo
Mikail Bagishov
union F<T, U> {
   x: ManuallyDrop<T>,
   y: ManuallyDrop<U>
}

return F { x: ManuallyDrop::new(a)}.y.into_inner()
Ого! Это без ансейфа сработает?
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
С ансейфом
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Например при чтении поля юниона он нужен
источник

Э

Эрик in Rust — русскоговорящее сообществo
Kai Ren
Ого! Это без ансейфа сработает?
Нет, это тот же самый transmute_copy.
источник

KR

Kai Ren in Rust — русскоговорящее сообществo
Ясно. Я уже сделал с ManuallyDrop + transmute_copy, выходит чуток эргономичнее. Но трюк - огонь! Спасибо!
источник