summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorLaurenz <laurmaedje@gmail.com>2021-06-12 18:24:31 +0200
committerLaurenz <laurmaedje@gmail.com>2021-06-12 18:24:31 +0200
commit4c37ebb936ae49278a5f299c815a37b2ae32cdc3 (patch)
tree533bc71c1f454fc25cb1df7001197244a106f856 /src
parentfec1f41106862617797abf65d4eba8061cf4497b (diff)
Give up on not implementing Eq and Ord
Diffstat (limited to 'src')
-rw-r--r--src/geom/angle.rs2
-rw-r--r--src/geom/fr.rs2
-rw-r--r--src/geom/linear.rs2
-rw-r--r--src/geom/path.rs4
-rw-r--r--src/geom/point.rs2
-rw-r--r--src/geom/relative.rs2
-rw-r--r--src/geom/size.rs2
-rw-r--r--src/layout/stack.rs1
8 files changed, 9 insertions, 8 deletions
diff --git a/src/geom/angle.rs b/src/geom/angle.rs
index bf8bcc66..1b724dcd 100644
--- a/src/geom/angle.rs
+++ b/src/geom/angle.rs
@@ -2,7 +2,7 @@ use super::*;
use decorum::N64;
/// An angle.
-#[derive(Default, Copy, Clone, PartialEq, PartialOrd, Hash)]
+#[derive(Default, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub struct Angle {
/// The angle in raw units.
raw: N64,
diff --git a/src/geom/fr.rs b/src/geom/fr.rs
index 974d675e..1768366a 100644
--- a/src/geom/fr.rs
+++ b/src/geom/fr.rs
@@ -3,7 +3,7 @@ use decorum::N64;
use super::*;
/// A fractional length.
-#[derive(Default, Copy, Clone, PartialEq, PartialOrd, Hash)]
+#[derive(Default, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub struct Fractional(N64);
impl Fractional {
diff --git a/src/geom/linear.rs b/src/geom/linear.rs
index 20473821..c3216b21 100644
--- a/src/geom/linear.rs
+++ b/src/geom/linear.rs
@@ -1,7 +1,7 @@
use super::*;
/// A combined relative and absolute length.
-#[derive(Default, Copy, Clone, PartialEq, Hash)]
+#[derive(Default, Copy, Clone, Eq, PartialEq, Hash)]
pub struct Linear {
/// The relative part.
pub rel: Relative,
diff --git a/src/geom/path.rs b/src/geom/path.rs
index f6be2754..a7aed249 100644
--- a/src/geom/path.rs
+++ b/src/geom/path.rs
@@ -3,12 +3,12 @@ use super::*;
use serde::{Deserialize, Serialize};
/// A bezier path.
-#[derive(Default, Debug, Clone, PartialEq, Serialize, Deserialize)]
+#[derive(Default, Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
#[serde(transparent)]
pub struct Path(pub Vec<PathElement>);
/// An element in a bezier path.
-#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
+#[derive(Debug, Clone, Eq, PartialEq, Serialize, Deserialize)]
pub enum PathElement {
MoveTo(Point),
LineTo(Point),
diff --git a/src/geom/point.rs b/src/geom/point.rs
index 129205f1..13bced78 100644
--- a/src/geom/point.rs
+++ b/src/geom/point.rs
@@ -3,7 +3,7 @@ use super::*;
use serde::{Deserialize, Serialize};
/// A point in 2D.
-#[derive(Default, Copy, Clone, PartialEq, Serialize, Deserialize, Hash)]
+#[derive(Default, Copy, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Point {
/// The x coordinate.
pub x: Length,
diff --git a/src/geom/relative.rs b/src/geom/relative.rs
index 9f8aea55..6505abff 100644
--- a/src/geom/relative.rs
+++ b/src/geom/relative.rs
@@ -6,7 +6,7 @@ use super::*;
///
/// _Note_: `50%` is represented as `0.5` here, but stored as `50.0` in the
/// corresponding [literal](crate::syntax::Expr::Percent).
-#[derive(Default, Copy, Clone, PartialEq, PartialOrd, Hash)]
+#[derive(Default, Copy, Clone, Eq, PartialEq, Ord, PartialOrd, Hash)]
pub struct Relative(N64);
impl Relative {
diff --git a/src/geom/size.rs b/src/geom/size.rs
index ea522091..1c411fb3 100644
--- a/src/geom/size.rs
+++ b/src/geom/size.rs
@@ -3,7 +3,7 @@ use super::*;
use serde::{Deserialize, Serialize};
/// A size in 2D.
-#[derive(Default, Copy, Clone, PartialEq, Serialize, Deserialize, Hash)]
+#[derive(Default, Copy, Clone, Eq, PartialEq, Hash, Serialize, Deserialize)]
pub struct Size {
/// The width.
pub width: Length,
diff --git a/src/layout/stack.rs b/src/layout/stack.rs
index 7049f60c..29b00a98 100644
--- a/src/layout/stack.rs
+++ b/src/layout/stack.rs
@@ -39,6 +39,7 @@ impl From<StackNode> for AnyNode {
}
}
+#[derive(Debug)]
struct StackLayouter<'a> {
/// The directions of the stack.
stack: &'a StackNode,