Skip to content

Commit bb86282

Browse files
eadfkvark
authored andcommitted
Fix serde feature warning
1 parent 7c257f8 commit bb86282

25 files changed

+36
-36
lines changed

Cargo.toml

+5-5
Original file line numberDiff line numberDiff line change
@@ -31,16 +31,16 @@ keywords = ["gamedev", "cgmath", "collision"]
3131
[lib]
3232
name = "collision"
3333

34+
[features]
35+
serde = ["serde_crate", "cgmath/serde", "num/serde"]
36+
3437
[dependencies]
3538
rand = "0.8.4"
3639
cgmath = "0.18.0"
37-
serde = { version = "1.0.126", optional = true, features = ["derive"] }
40+
serde_crate = { version = "1.0.126", package="serde", optional = true, features = ["derive"] }
3841
bit-set = "0.5.2"
3942
smallvec = "1.6.1"
40-
41-
[target.'cfg(feature="serde")'.dependencies]
42-
cgmath = { version = "0.18.0", features = ["serde"] }
43-
num = { version = "0.4.0", features = ["serde"] }
43+
num = "0.4.0"
4444

4545
[dev-dependencies]
4646
genmesh = "0.5"

src/contact.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use cgmath::prelude::*;
88
/// found contact will have this returned on it, detailing what data is relevant in the
99
/// [`Contact`](struct.Contact.html).
1010
#[derive(Debug, PartialEq, Copy, Clone, PartialOrd)]
11-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
11+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1212
pub enum CollisionStrategy {
1313
/// Compute full contact manifold for the collision
1414
FullResolution,

src/frustum.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use cgmath::{Ortho, Perspective, PerspectiveFov};
99

1010
/// View frustum, used for frustum culling
1111
#[derive(Copy, Clone, Debug, PartialEq)]
12-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
12+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1313
pub struct Frustum<S: BaseFloat> {
1414
/// Left plane
1515
pub left: Plane<S>,
@@ -99,7 +99,7 @@ impl<S: BaseFloat> Frustum<S> {
9999

100100
/// View frustum corner points
101101
#[derive(Copy, Clone, PartialEq, Debug)]
102-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
102+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
103103
pub struct FrustumPoints<S> {
104104
/// Near top left point
105105
pub near_top_left: Point3<S>,

src/lib.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -31,7 +31,7 @@
3131
3232
#[cfg(feature = "serde")]
3333
#[macro_use]
34-
extern crate serde;
34+
extern crate serde_crate;
3535

3636
// Re-exports
3737

src/line.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use crate::Ray2;
1212

1313
/// A generic directed line segment from `origin` to `dest`.
1414
#[derive(Copy, Clone, PartialEq, Debug)]
15-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
15+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1616
pub struct Line<S, V, P> {
1717
/// Origin of the line
1818
pub origin: P,

src/plane.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ use crate::Ray3;
2424
/// alternative, `A*x + B*y + C*z + D = 0`, because it tends to avoid
2525
/// superfluous negations (see _Real Time Collision Detection_, p. 55).
2626
#[derive(Copy, Clone, PartialEq)]
27-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
27+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
2828
pub struct Plane<S> {
2929
/// Plane normal
3030
pub n: Vector3<S>,

src/primitive/capsule.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use crate::{Aabb3, Ray3};
99
/// Capsule primitive
1010
/// Capsule body is aligned with the Y axis, with local origin in the center of the capsule.
1111
#[derive(Debug, Clone, PartialEq)]
12-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
12+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1313
pub struct Capsule<S> {
1414
half_height: S,
1515
radius: S,

src/primitive/circle.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use crate::{Aabb2, Ray2};
88

99
/// Circle primitive
1010
#[derive(Debug, Clone, PartialEq)]
11-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
11+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1212
pub struct Circle<S> {
1313
/// Radius of the circle
1414
pub radius: S,

src/primitive/cuboid.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use crate::{Aabb3, Ray3};
1010
///
1111
/// Have a cached set of corner points to speed up computation.
1212
#[derive(Debug, Clone, PartialEq)]
13-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
13+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1414
pub struct Cuboid<S> {
1515
/// Dimensions of the box
1616
dim: Vector3<S>,
@@ -132,7 +132,7 @@ where
132132
///
133133
/// Have a cached set of corner points to speed up computation.
134134
#[derive(Debug, Clone, PartialEq)]
135-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
135+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
136136
pub struct Cube<S> {
137137
cuboid: Cuboid<S>,
138138
}

src/primitive/cylinder.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ use crate::{Aabb3, Ray3};
99
/// Cylinder primitive
1010
/// Cylinder body is aligned with the Y axis, with local origin in the center of the cylinders.
1111
#[derive(Debug, Clone, PartialEq)]
12-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
12+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1313
pub struct Cylinder<S> {
1414
half_height: S,
1515
radius: S,

src/primitive/particle.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ use crate::Ray;
1717
/// These intersection tests can be used with any primitive that has `Ray` intersection tests
1818
/// implemented.
1919
#[derive(Debug, Clone, PartialEq)]
20-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
20+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
2121
pub struct Particle<P> {
2222
m: marker::PhantomData<P>,
2323
}

src/primitive/polygon.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use crate::{Aabb2, Line2, Ray2};
1212
/// Can contain any number of vertices, but a high number of vertices will
1313
/// affect performance of course. Vertices need to be in CCW order.
1414
#[derive(Debug, Clone, PartialEq)]
15-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
15+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1616
pub struct ConvexPolygon<S> {
1717
/// Vertices of the convex polygon.
1818
pub vertices: Vec<Point2<S>>,

src/primitive/polyhedron.rs

+5-5
Original file line numberDiff line numberDiff line change
@@ -11,22 +11,22 @@ use crate::volume::Sphere;
1111
use crate::{Aabb3, Plane, Ray3};
1212

1313
#[derive(Debug, Clone, PartialEq)]
14-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
14+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1515
enum PolyhedronMode {
1616
VertexOnly,
1717
HalfEdge,
1818
}
1919

2020
#[derive(Debug, Clone, PartialEq)]
21-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
21+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
2222
struct Vertex<S> {
2323
position: Point3<S>,
2424
edge: usize,
2525
ready: bool,
2626
}
2727

2828
#[derive(Debug, Clone, PartialEq)]
29-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
29+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
3030
struct Edge {
3131
target_vertex: usize,
3232
left_face: usize,
@@ -37,7 +37,7 @@ struct Edge {
3737
}
3838

3939
#[derive(Debug, Clone, PartialEq)]
40-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
40+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
4141
struct Face<S>
4242
where
4343
S: BaseFloat,
@@ -59,7 +59,7 @@ where
5959
///
6060
///
6161
#[derive(Debug, Clone, PartialEq)]
62-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
62+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
6363
pub struct ConvexPolyhedron<S>
6464
where
6565
S: BaseFloat,

src/primitive/primitive2.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ use crate::{Aabb2, Line2, Ray2};
1010
/// Wrapper enum for 2D primitives, that also implements the `Primitive` trait, making it easier
1111
/// to use many different primitives in algorithms.
1212
#[derive(Debug, Clone, PartialEq)]
13-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
13+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1414
pub enum Primitive2<S> {
1515
/// Particle
1616
Particle(Particle2<S>),

src/primitive/primitive3.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use crate::{Aabb3, Ray3};
1212
/// Wrapper enum for 3D primitives, that also implements the `Primitive` trait, making it easier
1313
/// to use many different primitives in algorithms.
1414
#[derive(Debug, Clone, PartialEq)]
15-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
15+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1616
pub enum Primitive3<S>
1717
where
1818
S: BaseFloat,

src/primitive/quad.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use crate::{Aabb3, Ray3, Sphere};
1111
///
1212
/// Have a cached set of corner points to speed up computation.
1313
#[derive(Debug, Clone, PartialEq)]
14-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
14+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1515
pub struct Quad<S> {
1616
/// Dimensions of the rectangle
1717
dim: Vector2<S>,

src/primitive/rectangle.rs

+2-2
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ use crate::{Aabb2, Ray2};
1111
///
1212
/// Have a cached set of corner points to speed up computation.
1313
#[derive(Debug, Clone, PartialEq)]
14-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
14+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1515
pub struct Rectangle<S> {
1616
/// Dimensions of the rectangle
1717
dim: Vector2<S>,
@@ -110,7 +110,7 @@ where
110110
///
111111
/// Have a cached set of corner points to speed up computation.
112112
#[derive(Debug, Clone, PartialEq)]
113-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
113+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
114114
pub struct Square<S> {
115115
rectangle: Rectangle<S>,
116116
}

src/primitive/sphere.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ use crate::{Aabb3, Ray3};
66

77
/// Sphere primitive
88
#[derive(Debug, Clone, PartialEq)]
9-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
9+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1010
pub struct Sphere<S> {
1111
/// Radius of the sphere
1212
pub radius: S,

src/ray.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use crate::traits::{Continuous, ContinuousTransformed, Discrete, DiscreteTransfo
1212
/// A generic ray starting at `origin` and extending infinitely in
1313
/// `direction`.
1414
#[derive(Copy, Clone, PartialEq, Debug)]
15-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
15+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1616
pub struct Ray<S, P, V> {
1717
/// Ray origin
1818
pub origin: P,

src/volume/aabb/aabb2.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use crate::{Line2, Ray2};
1212

1313
/// A two-dimensional AABB, aka a rectangle.
1414
#[derive(Copy, Clone, PartialEq)]
15-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
15+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1616
pub struct Aabb2<S> {
1717
/// Minimum point of the AABB
1818
pub min: Point2<S>,

src/volume/aabb/aabb3.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ use crate::{Line3, Plane, Ray3, Sphere};
1212

1313
/// A three-dimensional AABB, aka a rectangular prism.
1414
#[derive(Copy, Clone, PartialEq)]
15-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
15+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1616
pub struct Aabb3<S> {
1717
/// Minimum point of the AABB
1818
pub min: Point3<S>,

src/volume/cylinder.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ use cgmath::Vector3;
55

66
/// Bounding cylinder
77
#[derive(Copy, Clone, PartialEq, Debug)]
8-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
8+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
99
pub struct Cylinder<S> {
1010
/// Center point
1111
pub center: Point3<S>,

src/volume/obb.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use cgmath::{Vector2, Vector3};
88
/// Generic object bounding box, centered on `center`, aligned with `axis`,
99
/// and with size `extents`.
1010
#[derive(Copy, Clone, PartialEq, Debug)]
11-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
11+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1212
pub struct Obb<S, V, P> {
1313
/// OBB center point in world space
1414
pub center: P,

src/volume/sphere.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ use crate::{Aabb3, Line3, Plane, Ray3};
88

99
/// Bounding sphere.
1010
#[derive(Copy, Clone, PartialEq, Debug)]
11-
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize))]
11+
#[cfg_attr(feature = "serde", derive(Serialize, Deserialize), serde(crate="serde_crate"))]
1212
pub struct Sphere<S: BaseFloat> {
1313
/// Center point of the sphere in world space
1414
pub center: Point3<S>,

tests/serde.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
#![cfg(feature = "serde")]
22

33
use cgmath::Point1;
4-
use serde::Serialize;
4+
use serde_crate::Serialize;
55

66
fn has_serialize<S: Serialize>() -> bool {
77
true

0 commit comments

Comments
 (0)