Есть ли способ переместить объект из Rc<T>
, когда счет равен 1
? Я думаю о том, как можно было бы реализовать:
fn take_ownership<T>(shared: Rc<T>) -> Result<T, Rc<T>> { ... }
Семантика будет заключаться в том, что вы получите T
, если счет равен 1
, и вы получите обратно shared
в противном случае, чтобы вы могли повторить попытку позже.