pub trait SliceExt<T> {
    // Required methods
    fn to_vec_in<A: Allocator>(&self, alloc: A) -> Vec<T, A>
       where T: Clone;
    fn repeat(&self, n: usize) -> Vec<T, Global>
       where T: Copy;
    // Provided method
    fn to_vec(&self) -> Vec<T, Global>
       where T: Clone { ... }
}Expand description
Slice methods that use Box and Vec from this crate.
Required Methods§
Sourcefn to_vec_in<A: Allocator>(&self, alloc: A) -> Vec<T, A>where
    T: Clone,
 
fn to_vec_in<A: Allocator>(&self, alloc: A) -> Vec<T, A>where
    T: Clone,
Copies self into a new Vec with an allocator.
§Examples
use allocator_api2::{SliceExt, alloc::System};
let s = [10, 40, 30];
let x = SliceExt::to_vec_in(&s[..], System);
// Here, `s` and `x` can be modified independently.Sourcefn repeat(&self, n: usize) -> Vec<T, Global>where
    T: Copy,
 
fn repeat(&self, n: usize) -> Vec<T, Global>where
    T: Copy,
Creates a vector by copying a slice n times.
§Panics
This function will panic if the capacity would overflow.
§Examples
Basic usage:
use allocator_api2::{SliceExt, vec};
assert_eq!(SliceExt::repeat(&[1, 2][..], 3), vec![1, 2, 1, 2, 1, 2]);A panic upon overflow:
ⓘ
// this will panic at runtime
b"0123456789abcdef".repeat(usize::MAX);Provided Methods§
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.