ps_buffer/methods/
share.rs1use crate::{Buffer, SharedBuffer};
2
3impl Buffer {
4 #[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}