pub fn from_vec(v: Vec<u8>) -> Self {
        let mut v = mem::ManuallyDrop::new(v);
        Buffer {
            ptr: v.as_mut_ptr(),
            len: v.len(),
            cap: v.capacity(),
        }
    }
// this releases our memory to the caller
this releases our memory to the caller
this releases our memory to the caller
pub fn from_vec(v: Vec<u8>) -> Self {
        let mut v = mem::ManuallyDrop::new(v);
        Buffer {
            ptr: v.as_mut_ptr(),
            len: v.len(),
            cap: v.capacity(),
        }
    }
pub fn from_vec ( v : Vec < u8 > ) -> Self { let mut v = mem :: ManuallyDrop :: new ( v ) ; Buffer { ptr : v . as_mut_ptr ( ) , len : v . len ( ) , cap : v . capacity ( ) , } }
this releases our memory to the caller
this releases our memory to the caller
v
Vec<u8>