leak_slice/
lib.rs

1#![no_std]
2
3use core::ptr::NonNull;
4
5/// `LeakSliceExt` - leak slice in favor of `NonNull`
6pub trait LeakSliceExt<T> {
7    /// leak `&mut [T]` in favor of `NonNull<[T]>`
8    fn leak(self) -> NonNull<[T]>;
9}
10
11impl<T> LeakSliceExt<T> for &mut [T] {
12    fn leak(self) -> NonNull<[T]> {
13        NonNull::from(self)
14    }
15}