Size: a a a

2021 February 04

AL

Arsenii Lyashenko in Rust Async
Ой, ссылку не поправил
источник

С

Сергей in Rust Async
Arsenii Lyashenko
Ой, ссылку не поправил
У тебя итератор одалживается. Можно запинить наверное попробовать. Но это не точно
источник

KR

Kai Ren in Rust Async
Arsenii Lyashenko
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=a232edb17d5b5a6979827a92d69f7cd0
Как это разрешить, при условии, что на BoxedHandler не может быть навешан Sync?

P.S. поправил ссылку
Превратить заимствование во владение:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=6fc7977fe40c08768730a2714d86da9f

Чтобы избавиться от аллокашки, если это критично, можно до некоторой меры SmallVec юзнуть.
источник

AL

Arsenii Lyashenko in Rust Async
Kai Ren
Превратить заимствование во владение:
https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=6fc7977fe40c08768730a2714d86da9f

Чтобы избавиться от аллокашки, если это критично, можно до некоторой меры SmallVec юзнуть.
Большое спасибо!
источник

AL

Arsenii Lyashenko in Rust Async
Жаль, что компилятор недостаточно умный для такого
источник

KR

Kai Ren in Rust Async
Arsenii Lyashenko
Жаль, что компилятор недостаточно умный для такого
Ну да, если подумать, он не может проанализировать ситуацию, что мы отправили ссылку на !Sync в другой тред, но при этом "мамой клянёмся" ничего по ней не мутируем в рамках interior mutability.
источник

KR

Kai Ren in Rust Async
Потому что мы не можем выразить немутируемость interior mutability на уровне типов, ибо последняя про рантайм?
источник
2021 February 05

T

Tux in Rust Async
Привет, я тут пытаюсь пробросить рантайм в разделяемую либу, но как-то не очень получается.

Есть вот такой вот простенький стенд:
источник

AV

Artem Vorotnikov in Rust Async
хех, мне самому будет интересно посмотреть на результат )
источник

T

Tux in Rust Async
в нём есть две библиотеки и один исполняемый крейт:
* host исполняемый крейт к которому мы подключаем плагин
* router библиотека содержащая структуру Router которая будет возвращаться из плагина.
* plugin  библиотека, которая будет подключаться в качестве плагина
источник

T

Tux in Rust Async
вот содержимое router:
источник

T

Tux in Rust Async
тут просто хранится некоторый обработчик определяемый в плагине, и после этого вызывается (router.foo()) из мейна
источник

DF

Dollar Føølish in Rust Async
Смотри когда либа с Токио компилится у нее свой набор глобалок
источник

T

Tux in Rust Async
вот злосчастный плагин, который никак не хочет подхватывать рантайм
источник

DF

Dollar Føølish in Rust Async
Вкратце что должен сделать плагин?
источник

T

Tux in Rust Async
а вот мейн, который должен вызвать хендлер из роутера, сконструированного в плагине
источник

DF

Dollar Føølish in Rust Async
Спавн у Токио обращается к глобалке если я помню ок
источник

T

Tux in Rust Async
Dollar Føølish
Смотри когда либа с Токио компилится у нее свой набор глобалок
да, в частности CONTEXT
источник

AV

Artem Vorotnikov in Rust Async
да
источник

AV

Artem Vorotnikov in Rust Async
Dollar Føølish
Спавн у Токио обращается к глобалке если я помню ок
иначе ты без глобалок охуеешь с рантаймом работать
источник