pub(crate) fn transmute<N2, T2>(self) -> DataRef<N2, T2> {
        DataRef {
            mmap:             self.mmap,
            file:             self.file.clone(),
            start:            self.start,
            end:              self.end,
            num_entries_type: std::marker::PhantomData,
            entry_type:       std::marker::PhantomData,
        }
    }
// This is a safe transmute, we only change the PhantomData markers.
// It changes the input for put() and the output of the iterator.
This is a safe transmute, we only change the PhantomData markers.
It changes the input for put() and the output of the iterator.
This is a safe transmute we only change the PhantomData markers . It changes the input for put () and the output of the iterator .
pub(crate) fn transmute<N2, T2>(self) -> DataRef<N2, T2> {
        DataRef {
            mmap:             self.mmap,
            file:             self.file.clone(),
            start:            self.start,
            end:              self.end,
            num_entries_type: std::marker::PhantomData,
            entry_type:       std::marker::PhantomData,
        }
    }
pub ( crate ) fn transmute < N2 , T2 > ( self ) -> DataRef < N2 , T2 > { DataRef { mmap : self . mmap , file : self . file . clone ( ) , start : self . start , end : self . end , num_entries_type : std :: marker :: PhantomData , entry_type : std :: marker :: PhantomData , } }
This is a safe transmute, we only change the PhantomData markers.
This is a safe transmute we only change the PhantomData markers .
self
self