forked from M-Labs/nalgebra
Fix tests
This commit is contained in:
parent
7cacb2bf4a
commit
ed573d054c
@ -9,32 +9,6 @@ use rkyv::{
|
|||||||
use std::marker::PhantomData;
|
use std::marker::PhantomData;
|
||||||
|
|
||||||
/// A wrapper that allows for changing the generic type of a PhantomData<T>.
|
/// A wrapper that allows for changing the generic type of a PhantomData<T>.
|
||||||
///
|
|
||||||
/// Example:
|
|
||||||
///
|
|
||||||
/// ```rust
|
|
||||||
/// use std::marker::PhantomData;
|
|
||||||
/// use rkyv::{
|
|
||||||
/// Archive, Serialize, Deserialize, Infallible, vec::ArchivedVec, Archived, with::With,
|
|
||||||
/// };
|
|
||||||
/// use rkyv_wrappers::custom_phantom::CustomPhantom;
|
|
||||||
/// #[derive(Archive, Serialize, Deserialize, Debug, PartialEq, Eq, Default)]
|
|
||||||
/// #[archive(as = "StructWithPhantom<T::Archived>", bound(archive = "
|
|
||||||
/// T: Archive,
|
|
||||||
/// With<PhantomData<T>, CustomPhantom<Archived<T>>>: Archive<Archived = PhantomData<Archived<T>>>
|
|
||||||
/// "))]
|
|
||||||
/// struct StructWithPhantom<T> {
|
|
||||||
/// pub num: i32,
|
|
||||||
/// #[with(CustomPhantom<T::Archived>)]
|
|
||||||
/// pub phantom: PhantomData<T>,
|
|
||||||
/// }
|
|
||||||
/// let value = StructWithPhantom::<Vec<i32>>::default();
|
|
||||||
/// let bytes = rkyv::to_bytes::<_, 1024>(&value).unwrap();
|
|
||||||
/// let archived: &StructWithPhantom<ArchivedVec<i32>> = unsafe { rkyv::archived_root::<StructWithPhantom<Vec<i32>>>(&bytes) };
|
|
||||||
///
|
|
||||||
/// let deserialized: StructWithPhantom<Vec<i32>> = archived.deserialize(&mut Infallible).unwrap();
|
|
||||||
/// assert_eq!(deserialized, value);
|
|
||||||
/// ```
|
|
||||||
pub struct CustomPhantom<NT: ?Sized> {
|
pub struct CustomPhantom<NT: ?Sized> {
|
||||||
_data: PhantomData<*const NT>,
|
_data: PhantomData<*const NT>,
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user