ps_buffer/methods/
share.rs

1use crate::{Buffer, SharedBuffer};
2
3impl Buffer {
4    /// Constructs a [`SharedBuffer`] containing this [`Buffer`].
5    #[must_use]
6    pub fn share(self) -> SharedBuffer {
7        self.into()
8    }
9}
10
11#[cfg(test)]
12mod tests {
13    use crate::{BufferError, ToBuffer};
14
15    #[test]
16    fn hello_shared() -> Result<(), BufferError> {
17        let str = "Hello, shared buffer!";
18        let shared = str.to_buffer()?.share();
19        let clone = shared.clone();
20
21        assert_eq!(shared.slice(..), clone.slice(..));
22
23        drop(shared);
24
25        assert_eq!(clone.slice(..), str.as_bytes());
26
27        Ok(())
28    }
29}