Size: a a a

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

2020 September 25

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Roman
Не любой рантайм такую позволяет
Почему?
В тред-локал можно что угодно запихнуть
источник

MB

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

R

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

R

Roman in Rust — русскоговорящее сообществo
Не 'static пойти запихни
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Roman
В тредлокал не все можно запихнуть
Ну объект Runtime 100% 'static-овый
источник

R

Roman in Rust — русскоговорящее сообществo
Объект да. А ссылка на него?
источник

MB

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

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Roman
Объект да. А ссылка на него?
Arc
источник

R

Roman in Rust — русскоговорящее сообществo
А если &mut надо?
источник

MB

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

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Roman
А если &mut надо?
А зачем?
источник

R

Roman in Rust — русскоговорящее сообществo
Что б без локов
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Roman
Что б без локов
Локи никуда не денутся, ты их только на пользователя переложишь.

А какой-нибудь изящный ансейф-трюк наоборот проще провернуть в коде рантайма.
источник

R

Roman in Rust — русскоговорящее сообществo
Зависит от назначения. Может пользователю локи они тоже не понадобятся
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Roman
Зависит от назначения. Может пользователю локи они тоже не понадобятся
Тогда пусть руками &dyn Executor передает
источник

R

Roman in Rust — русскоговорящее сообществo
tokio - отличный general purpose runtime
Но IMHO есть место в экосистеме для специализированных
источник

R

Roman in Rust — русскоговорящее сообществo
Можно начать с &mut impl Executor
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Roman
tokio - отличный general purpose runtime
Но IMHO есть место в экосистеме для специализированных
Приведи, пожалуйста, пример.
Мне трудно представить рантайм, который не вписывается в модель с
thread_local CURRENT: Rc<dyn Handle>
источник

R

Roman in Rust — русскоговорящее сообществo
Ты с чем это шарить будешь? Почему Rc?
источник

MB

Mikail Bagishov in Rust — русскоговорящее сообществo
Rc на всякий случай, может даже Box сойдет
источник