Size: a a a

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

2020 April 09

dp

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

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Чтобы проверить это, запусти на промежуточном. Кажется, 1.35 подойдет например. Он покажет, если это реально так.
источник

dp

dark pit in Rust — русскоговорящее сообществo
Mikail Bagishov
Старый борроучекер допускал некорректные программы, новый их отклоняет.
нифига себе, это ж вообще как на измене, и не покодишь спокойно.  всё время теперь думать, что компилятор сам весь unsafe и забагованый?
источник

dp

dark pit in Rust — русскоговорящее сообществo
Mikail Bagishov
Чтобы проверить это, запусти на промежуточном. Кажется, 1.35 подойдет например. Он покажет, если это реально так.
а где взять 1.35?
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
dark pit
нифига себе, это ж вообще как на измене, и не покодишь спокойно.  всё время теперь думать, что компилятор сам весь unsafe и забагованый?
Открываешь багтрекер, смотришь по метке I-unsound и видишь другие баги компилятора.
Но это баги компилятора а не языка.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
dark pit
а где взять 1.35?
Через rustup
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Кстати, неожиданная плюшка системы типов. Cancellation token в расте выглядит просто как tokio::sync::oneshot::Receiver<!>.
источник

В

Вафель in Rust — русскоговорящее сообществo
Mikail Bagishov
Кстати, неожиданная плюшка системы типов. Cancellation token в расте выглядит просто как tokio::sync::oneshot::Receiver<!>.
Не очень понимаю, как это должно работать?...
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Вафель
Не очень понимаю, как это должно работать?...
Пока TryRecv возвращает Empty, можно продолжать работать
источник

В

Вафель in Rust — русскоговорящее сообществo
Mikail Bagishov
Пока TryRecv возвращает Empty, можно продолжать работать
А когда нельзя он паникует?
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Вафель
А когда нельзя он паникует?
А когда нас хотят остановить, дропают Sender. Тогда TryRecv начнет возвращать Closed, и это можно обработать
источник

dp

dark pit in Rust — русскоговорящее сообществo
Mikail Bagishov
Кстати, неожиданная плюшка системы типов. Cancellation token в расте выглядит просто как tokio::sync::oneshot::Receiver<!>.
прикольно.  я недавно обычный mpsc канал использовал.  а оно вон как оказывается...
источник

dp

dark pit in Rust — русскоговорящее сообществo
с unsound багами rustc потом разберусь, а пока хватило дропнуть Cargo.lock.
источник

Э

Эрик in Rust — русскоговорящее сообществo
Mikail Bagishov
Кстати, неожиданная плюшка системы типов. Cancellation token в расте выглядит просто как tokio::sync::oneshot::Receiver<!>.
Почему именно токийский? send-recv же целая куча разных.
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Эрик
Почему именно токийский? send-recv же целая куча разных.
Ну можно любой другой взять, да.
Но раз я сижу на токио, то юзать чужие каналы ни к чему.
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
И ещё один баг в логике я только что поймал тестом
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
Правда, tarpaulin как-то очень странно считает coverage.
источник

dp

dark pit in Rust — русскоговорящее сообществo
ещё один из той же оперы:

https://gist.github.com/ratijas/47c6d13ebdfeb8c85ac97e7bd8b6f9e1
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
https://doc.rust-lang.org/stable/std/macro.vec.html
Не могу понять, чем второй вариант макроса отличается от третьего
источник

EG

Emmanuel Goldstein in Rust — русскоговорящее сообществo
И зачем третий вообще нужен
источник