Size: a a a

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

2020 December 08

AL

Andrey @ozkriff Lesn... in Rust — русскоговорящее сообществo
Алексис минут десять назад вещать начал, кстати: https://githubuniverse.com/play
источник

M

MrSmith in Rust — русскоговорящее сообществo
Проблема в том что не понятно зачем это если можно просто взять движок и все
источник

A

Alexander in Rust — русскоговорящее сообществo
меня вот не то что на расте можно точки рисовать впечатляет, а то как vim настроен - оно у него и какие-то подсказки и ошибки показывает, на вид лучше чем я это давно в idea видел
источник

YJ

Yo Jla in Rust — русскоговорящее сообществo
Alexander
меня вот не то что на расте можно точки рисовать впечатляет, а то как vim настроен - оно у него и какие-то подсказки и ошибки показывает, на вид лучше чем я это давно в idea видел
RustAnalyzer ?
источник

AL

Andrey @ozkriff Lesn... in Rust — русскоговорящее сообществo
MrSmith
Проблема в том что не понятно зачем это если можно просто взять движок и все
я сам личо этим не увлекаюсь, так что достоверно не скажу. но, насколько понимаю задумку: тут у тебя весь апи заточен под процедурную генерацию всяких штук на ходу, т.е. в просто игровом движке без доплиб будет не так удобно
источник

a

antuan in Rust — русскоговорящее сообществo
меня чет начали задрачивать тормоза и лютый жор ресурсов в продуктах jetbrains в связке с плагином для раста
посему начал задумываться о vscode. есть неплохие туториалы по настройке и использованию оного?

и мб кто-то ощутил на своей шкуре прелести переезда. если кто поделится - буду рад почитать. чтобы не было оффтопом: в разрезе использования для раста, конечно же
источник

KB

Kirill Bulatov in Rust — русскоговорящее сообществo
antuan
меня чет начали задрачивать тормоза и лютый жор ресурсов в продуктах jetbrains в связке с плагином для раста
посему начал задумываться о vscode. есть неплохие туториалы по настройке и использованию оного?

и мб кто-то ощутил на своей шкуре прелести переезда. если кто поделится - буду рад почитать. чтобы не было оффтопом: в разрезе использования для раста, конечно же
https://rust-analyzer.github.io/manual.html#installation

Ставишь extension из marketplace'а, он скачивает бинарь, дальше ковыряешь настройки по душе и вперёд работать.
Можно на nightly сидеть, можно из сорцов ставить.

Всё сыроватое и шероховатое (из-за vscode как платформы и из-за косяков плагина тоже), но быстрое и, в целом, жить можно.
В Идею теперь заглядываю редко и страдаю там от инпут лага(
источник

a

antuan in Rust — русскоговорящее сообществo
Kirill Bulatov
https://rust-analyzer.github.io/manual.html#installation

Ставишь extension из marketplace'а, он скачивает бинарь, дальше ковыряешь настройки по душе и вперёд работать.
Можно на nightly сидеть, можно из сорцов ставить.

Всё сыроватое и шероховатое (из-за vscode как платформы и из-за косяков плагина тоже), но быстрое и, в целом, жить можно.
В Идею теперь заглядываю редко и страдаю там от инпут лага(
инпут лаг?
у меня вот, бывает, написал что-нибудь, жмешь ctrl+space (автокомплит) и... ждешь, пока пройдется по всему, что проиндексировал. секунд через несколько выплюнет длиннющий список возможных вариантов дополнения написанного. которые часто не особо помогает по факту, т.к. нужный тебе метод будет _где-то_ в этом списке
источник

KB

Kirill Bulatov in Rust — русскоговорящее сообществo
antuan
инпут лаг?
у меня вот, бывает, написал что-нибудь, жмешь ctrl+space (автокомплит) и... ждешь, пока пройдется по всему, что проиндексировал. секунд через несколько выплюнет длиннющий список возможных вариантов дополнения написанного. которые часто не особо помогает по факту, т.к. нужный тебе метод будет _где-то_ в этом списке
С комплитом недавно фичу в ra дозапилили и оптимизировали, так что теперь тоже может тормозить и выдавать кучу вариантов, почти feature parity)

А инпут лаг я мб неправильно называю: вводишь символ и прямо видно, как долго появляется символ после нажатия. В vscode мгновенно.
источник

a

antuan in Rust — русскоговорящее сообществo
Kirill Bulatov
С комплитом недавно фичу в ra дозапилили и оптимизировали, так что теперь тоже может тормозить и выдавать кучу вариантов, почти feature parity)

А инпут лаг я мб неправильно называю: вводишь символ и прямо видно, как долго появляется символ после нажатия. В vscode мгновенно.
хм не, последним не страдаю. если ток проц совсем в потолок и памяти нет.
но в процессе индексирования как раз эта скотина может выжрать 400% цпу (8 потоков) и... в общем, ощущения не из приятных.
источник

KB

Kirill Bulatov in Rust — русскоговорящее сообществo
antuan
хм не, последним не страдаю. если ток проц совсем в потолок и памяти нет.
но в процессе индексирования как раз эта скотина может выжрать 400% цпу (8 потоков) и... в общем, ощущения не из приятных.
RA тоже может подобные закидоны выдавать, если с типами или макросами намудрить (там сейчас активно всё меняют и появляются косяки), может и паниковать и cpu выжирать.

У меня лично проблем не было, но люди репортили.
Из заметного только полная принудительная прогрузка кешей при каждом старте, на диск ничего пока не сохраняется.
источник

KB

Kirill Bulatov in Rust — русскоговорящее сообществo
(и cargo check в фоне по-умолчанию крутится, это тоже может влиять)
источник

AC

Andrey Chesnokov in Rust — русскоговорящее сообществo
Подскажите что не так:
rust
use futures::Stream;
use tokio::io::{AsyncRead, ReadBuf};

struct Reader<T> {
   source: T,
   buffer: Vec<u8>,
}

impl<T: AsyncRead> Stream for Reader<T> {
   type Item = ();
   fn poll_next(
       self: std::pin::Pin<&mut Self>,
       cx: &mut std::task::Context<'_>,
   ) -> std::task::Poll<Option<Self::Item>> {
       self.source
           .poll_read(cx, &mut ReadBuf::new(self.buffer.as_mut_slice()))
           .map(|result| result.ok())
   }
}

l
og
no method named `poll_read` found for type parameter `T` in the current scope
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=cadc85469d3b59e1a7eb77ad7e886a02
источник

AV

Andrey Vlasov in Rust — русскоговорящее сообществo
Ext трейт не забыл?
источник

AV

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

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Andrey Chesnokov
Подскажите что не так:
rust
use futures::Stream;
use tokio::io::{AsyncRead, ReadBuf};

struct Reader<T> {
   source: T,
   buffer: Vec<u8>,
}

impl<T: AsyncRead> Stream for Reader<T> {
   type Item = ();
   fn poll_next(
       self: std::pin::Pin<&mut Self>,
       cx: &mut std::task::Context<'_>,
   ) -> std::task::Poll<Option<Self::Item>> {
       self.source
           .poll_read(cx, &mut ReadBuf::new(self.buffer.as_mut_slice()))
           .map(|result| result.ok())
   }
}

l
og
no method named `poll_read` found for type parameter `T` in the current scope
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=cadc85469d3b59e1a7eb77ad7e886a02
По идее надо self.source в Pin завернуть
источник

AC

Andrey Chesnokov in Rust — русскоговорящее сообществo
Andrey Vlasov
Ext трейт не забыл?
а вроде он мне не особо нужен
источник

AC

Andrey Chesnokov in Rust — русскоговорящее сообществo
Mikail Bagishov
По идее надо self.source в Pin завернуть
не помогает
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Andrey Chesnokov
не помогает
Там еще проблемы с борроучекером возникают.
Вот так работает: https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=c9acb4120e48f3f3c0b138156b9aa31c
источник

AC

Andrey Chesnokov in Rust — русскоговорящее сообществo
ага! Спасибо!
источник