| #![rustfmt::skip] |
| /// @generated rust packets from foo.pdl. |
| use bytes::{Buf, BufMut, Bytes, BytesMut}; |
| use std::convert::{TryFrom, TryInto}; |
| use std::cell::Cell; |
| use std::fmt; |
| use std::result::Result; |
| use pdl_runtime::{DecodeError, EncodeError, Packet}; |
| /// Private prevents users from creating arbitrary scalar values |
| /// in situations where the value needs to be validated. |
| /// Users can freely deref the value, but only the backend |
| /// may create it. |
| #[derive(Clone, Copy, Hash, PartialEq, Eq, PartialOrd, Ord)] |
| pub struct Private<T>(T); |
| impl<T> std::ops::Deref for Private<T> { |
| type Target = T; |
| fn deref(&self) -> &Self::Target { |
| &self.0 |
| } |
| } |
| impl<T: std::fmt::Debug> std::fmt::Debug for Private<T> { |
| fn fmt(&self, f: &mut fmt::Formatter<'_>) -> fmt::Result { |
| T::fmt(&self.0, f) |
| } |
| } |