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}