мог тут убрать unsafe? или все же есть большая вероятность что он не распознает, что здесь можно соптимизировать?
if let Some(i) = self.consumers.iter().position(|v| Rc::ptr_eq(v, &c)) {
unsafe { self.consumers.get_unchecked_mut(i).borrow_mut().disconnected(self.id) }
self.consumers.remove(i);
}
не думаю что он тут уберет. Но думаю что с бранчпредиктором можно забить на этот факт - тут 100% предикт будет
Обсуждают сегодня