diff options
Diffstat (limited to 'src')
5 files changed, 10 insertions, 5 deletions
diff --git a/src/data/hashmap.rs b/src/data/hashmap.rs index 78f9797..d2ea980 100644 --- a/src/data/hashmap.rs +++ b/src/data/hashmap.rs @@ -51,10 +51,10 @@ pub fn deserialize_hashmap_capacity< */ #[cfg(feature = "enhanced-determinism")] pub type FxHashMap32<K, V> = indexmap::IndexMap<K, V, std::hash::BuildHasherDefault<FxHasher32>>; -#[cfg(not(feature = "enhanced-determinism"))] -pub use rustc_hash::{Entry, FxHashMap as HashMap}; #[cfg(feature = "enhanced-determinism")] pub use {self::FxHashMap32 as HashMap, indexmap::map::Entry}; +#[cfg(not(feature = "enhanced-determinism"))] +pub use {rustc_hash::FxHashMap as HashMap, std::collections::hash_map::Entry}; const K: u32 = 0x9e3779b9; diff --git a/src/geometry/contact_generator/contact_generator.rs b/src/geometry/contact_generator/contact_generator.rs index de35b92..b1b1be6 100644 --- a/src/geometry/contact_generator/contact_generator.rs +++ b/src/geometry/contact_generator/contact_generator.rs @@ -84,7 +84,7 @@ impl ContactPhase { let mut manifold_arr: ArrayVec<[&mut ContactManifold; SIMD_WIDTH]> = ArrayVec::new(); let mut workspace_arr: ArrayVec< - [Option<&mut (dyn Any + Send + Sync)>; SIMD_WIDTH], + [Option<&mut (dyn MaybeSerializableData)>; SIMD_WIDTH], > = ArrayVec::new(); for (pair, solver_flags) in diff --git a/src/geometry/contact_generator/contact_generator_workspace.rs b/src/geometry/contact_generator/contact_generator_workspace.rs index ece0a6a..fb6d7b4 100644 --- a/src/geometry/contact_generator/contact_generator_workspace.rs +++ b/src/geometry/contact_generator/contact_generator_workspace.rs @@ -1,7 +1,9 @@ use crate::data::MaybeSerializableData; +#[cfg(feature = "dim3")] +use crate::geometry::contact_generator::PfmPfmContactManifoldGeneratorWorkspace; use crate::geometry::contact_generator::{ - HeightFieldShapeContactGeneratorWorkspace, PfmPfmContactManifoldGeneratorWorkspace, - TrimeshShapeContactGeneratorWorkspace, WorkspaceSerializationTag, + HeightFieldShapeContactGeneratorWorkspace, TrimeshShapeContactGeneratorWorkspace, + WorkspaceSerializationTag, }; // Note we have this newtype because it simplifies the serialization/deserialization code. @@ -76,6 +78,7 @@ impl<'de> serde::Deserialize<'de> for ContactGeneratorWorkspace { Some(WorkspaceSerializationTag::TrimeshShapeContactGeneratorWorkspace) => { deser::<A, TrimeshShapeContactGeneratorWorkspace>(&mut seq)? } + #[cfg(feature = "dim3")] Some(WorkspaceSerializationTag::PfmPfmContactGeneratorWorkspace) => { deser::<A, PfmPfmContactManifoldGeneratorWorkspace>(&mut seq)? } diff --git a/src/geometry/contact_generator/heightfield_shape_contact_generator.rs b/src/geometry/contact_generator/heightfield_shape_contact_generator.rs index 43cf17b..62c6365 100644 --- a/src/geometry/contact_generator/heightfield_shape_contact_generator.rs +++ b/src/geometry/contact_generator/heightfield_shape_contact_generator.rs @@ -8,6 +8,7 @@ use crate::geometry::contact_generator::{ use crate::geometry::Capsule; use crate::geometry::{Collider, ContactManifold, HeightField, Shape}; use crate::ncollide::bounding_volume::BoundingVolume; +#[cfg(feature = "serde-serialize")] use erased_serde::Serialize; #[cfg_attr(feature = "serde-serialize", derive(Serialize, Deserialize))] diff --git a/src/geometry/contact_generator/serializable_workspace_tag.rs b/src/geometry/contact_generator/serializable_workspace_tag.rs index adedb2d..2488c1e 100644 --- a/src/geometry/contact_generator/serializable_workspace_tag.rs +++ b/src/geometry/contact_generator/serializable_workspace_tag.rs @@ -3,6 +3,7 @@ use num_derive::FromPrimitive; #[derive(Copy, Clone, Debug, FromPrimitive)] pub(super) enum WorkspaceSerializationTag { TrimeshShapeContactGeneratorWorkspace = 0, + #[cfg(feature = "dim3")] PfmPfmContactGeneratorWorkspace, HeightfieldShapeContactGeneratorWorkspace, } |
