| #[cfg(feature = "bytes")] | |
| use bytes::Bytes; | |
| /// anything that can be cleared | |
| pub trait Clear { | |
| /// Clear this make, make it equivalent to newly created object. | |
| fn clear(&mut self); | |
| } | |
| impl<T> Clear for Option<T> { | |
| fn clear(&mut self) { | |
| self.take(); | |
| } | |
| } | |
| impl Clear for String { | |
| fn clear(&mut self) { | |
| String::clear(self); | |
| } | |
| } | |
| impl<T> Clear for Vec<T> { | |
| fn clear(&mut self) { | |
| Vec::clear(self); | |
| } | |
| } | |
| #[cfg(feature = "bytes")] | |
| impl Clear for Bytes { | |
| fn clear(&mut self) { | |
| Bytes::clear(self); | |
| } | |
| } |