auto_vec/
deref.rs

1use super::*;
2impl<T> Deref for AutoVec<T> {
3    type Target = RawAutoVec<T>;
4    #[inline]
5    fn deref(&self) -> &Self::Target {
6        &self.raw
7    }
8}
9impl<T> DerefMut for AutoVec<T> {
10    #[inline]
11    fn deref_mut(&mut self) -> &mut Self::Target {
12        &mut self.raw
13    }
14}
15impl<T> Deref for AutoChild<T> {
16    type Target = Pin<Box<RawAutoChild<T>>>;
17    #[inline]
18    fn deref(&self) -> &Self::Target {
19        &self.raw
20    }
21}
22impl<T> DerefMut for AutoChild<T> {
23    #[inline]
24    fn deref_mut(&mut self) -> &mut Self::Target {
25        &mut self.raw
26    }
27}
28impl<T> Deref for RawAutoChild<T> {
29    type Target = T;
30    fn deref(&self) -> &Self::Target {
31        &self.child
32    }
33}
34impl<T> DerefMut for RawAutoChild<T> {
35    fn deref_mut(&mut self) -> &mut Self::Target {
36        &mut self.child
37    }
38}