shared_buffer/
lib.rs

1mod mmap;
2mod owned;
3
4pub use crate::{
5    mmap::MmapError,
6    owned::{OwnedBuffer, OwnedIntoIter},
7};
8
9#[cfg(test)]
10mod tests {
11    use std::{
12        fs::File,
13        hash::Hash,
14        ops::Deref,
15        path::{Path, PathBuf},
16    };
17
18    use bytes::{Buf, Bytes};
19
20    use super::*;
21
22    #[test]
23    fn owned_api() {
24        fn static_assert<'a, T>()
25        where
26            // Conversions
27            T: TryFrom<&'a Path, Error = MmapError>,
28            T: TryFrom<&'a PathBuf, Error = MmapError>,
29            T: TryFrom<PathBuf, Error = MmapError>,
30            T: TryFrom<&'a File, Error = MmapError>,
31            T: TryFrom<File, Error = MmapError>,
32            T: From<&'a Vec<u8>>,
33            T: From<&'a [u8]>,
34            T: From<Bytes>,
35            // PartialEq
36            T: PartialEq<[u8]>,
37            T: PartialEq<Vec<u8>>,
38            T: PartialEq<&'a Vec<u8>>,
39            T: PartialEq<&'a [u8]>,
40            T: PartialEq<[u8; 42]>,
41            [u8]: PartialEq<T>,
42            Vec<u8>: PartialEq<T>,
43            &'a Vec<u8>: PartialEq<T>,
44            &'a [u8]: PartialEq<T>,
45            [u8; 42]: PartialEq<T>,
46            // Commonly needed for collections
47            T: Eq + Ord + Hash,
48            // Misc
49            T: Deref<Target = [u8]>,
50            T: AsRef<[u8]>,
51            T: Buf,
52            &'a T: IntoIterator<Item = &'a u8> + 'a,
53        {
54        }
55
56        static_assert::<OwnedBuffer>();
57    }
58}