orx_selfref_col/common_traits/
into.rs1use crate::{
2 MemoryReclaimNever, MemoryReclaimOnThreshold, MemoryReclaimer, Node, SelfRefCol, Variant,
3};
4use orx_pinned_vec::PinnedVec;
5
6impl<const D: usize, R, V, P> From<SelfRefCol<V, MemoryReclaimNever, P>>
7 for SelfRefCol<V, MemoryReclaimOnThreshold<D, V, R>, P>
8where
9 V: Variant,
10 R: MemoryReclaimer<V>,
11 P: PinnedVec<Node<V>>,
12{
13 fn from(value: SelfRefCol<V, MemoryReclaimNever, P>) -> Self {
14 let (core, state) = value.into_inner();
15 Self::from_raw_parts(core, Default::default(), state)
16 }
17}
18
19impl<const D: usize, R, V, P> From<SelfRefCol<V, MemoryReclaimOnThreshold<D, V, R>, P>>
20 for SelfRefCol<V, MemoryReclaimNever, P>
21where
22 V: Variant,
23 R: MemoryReclaimer<V>,
24 P: PinnedVec<Node<V>>,
25{
26 fn from(value: SelfRefCol<V, MemoryReclaimOnThreshold<D, V, R>, P>) -> Self {
27 let (core, state) = value.into_inner();
28 Self::from_raw_parts(core, Default::default(), state)
29 }
30}