turso_core 0.7.2

The Turso database library
Documentation
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
use crate::alloc::{ConcurrentAllocator, DynAllocator, TryReserveError};

pub type ArcSlice<T, A = DynAllocator> = std::sync::Arc<[T], A>;

pub fn try_arc_slice_from_slice<T: Clone>(slice: &[T]) -> Result<ArcSlice<T>, TryReserveError> {
    try_arc_slice_from_slice_in(slice, DynAllocator::default())
}

pub fn try_arc_slice_from_slice_in<T: Clone, A: ConcurrentAllocator>(
    slice: &[T],
    alloc: A,
) -> Result<ArcSlice<T>, TryReserveError> {
    std::sync::Arc::<[T], DynAllocator>::try_clone_from_ref_in(slice, DynAllocator::new(alloc))
        .map_err(|_| TryReserveError)
}