этого ^? Я хочу какой-то Arc::map(...) позволяющий мне получить Arc на кусок объекта шарящий при этом рефкаунтер со всеми остальными арками на этот объект.
Проблема арка в том, что он хранит данные интрузивно, и нельзя отделить данные от каунтеров.
Так мне и не нужно, отделять-то. struct Foo { bar: usize } let foo = Arc::new(foo); let foo_bar = Arc::map(foo, |value| &value.bar );
Данные негде хранить из мапа. У них не будет 'static жизни, они зависят от ссылки на арк, из которого ты их замапил.
Арк это не два поля, если я правильно помню
Не понимаю к чему это.
По-идее ж нет? Какая разница, указывает мой Arc на начало какого-нибудь массива в ArcInner или где-то всередину, если он всё равно блюдёт лайфтайм.
Обсуждают сегодня