use derive_more::Display;
use crate::values::layout::vtable::AValueVTable;
#[derive(Debug, Display, Clone, Copy, PartialEq, Eq, Hash)]
pub struct DeserTypeId;
impl DeserTypeId {
#[allow(clippy::extra_unused_type_parameters)]
pub const fn of<T: ?Sized>() -> Self {
DeserTypeId
}
}
impl pagable::PagableSerialize for DeserTypeId {
fn pagable_serialize(
&self,
_serializer: &mut dyn pagable::PagableSerializer,
) -> pagable::Result<()> {
unimplemented!("DeserTypeId serialization requires the `pagable` feature")
}
}
impl<'de> pagable::PagableDeserialize<'de> for DeserTypeId {
fn pagable_deserialize<D: pagable::PagableDeserializer<'de> + ?Sized>(
_deserializer: &mut D,
) -> pagable::Result<Self> {
unimplemented!("DeserTypeId deserialization requires the `pagable` feature")
}
}
pub(crate) fn lookup_vtable(_deser_type_id: DeserTypeId) -> crate::Result<&'static AValueVTable> {
unimplemented!("lookup_vtable requires the `pagable` feature")
}