rkyv/de/pooling/
core.rs

1use crate::de::pooling::{ErasedPtr, Pooling, PoolingState};
2
3/// A shared pointer strategy that duplicates deserializations of the same
4/// shared pointer.
5#[derive(Debug, Default)]
6pub struct Unpool;
7
8impl<E> Pooling<E> for Unpool {
9    fn start_pooling(&mut self, _: usize) -> PoolingState {
10        PoolingState::Started
11    }
12
13    unsafe fn finish_pooling(
14        &mut self,
15        _: usize,
16        _: ErasedPtr,
17        _: unsafe fn(ErasedPtr),
18    ) -> Result<(), E> {
19        Ok(())
20    }
21}