chiark / gitweb /
geometry: Relax Ord to PartialOrd
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 25 Mar 2021 01:13:09 +0000 (01:13 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Thu, 25 Mar 2021 01:13:31 +0000 (01:13 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
base/geometry.rs

index 4a4e2dd459acaf2385f600b91f56af55b72ee5b3..2e1708ce642d8d4a60795afc06db565f92f9d291 100644 (file)
@@ -198,14 +198,14 @@ impl<T:Debug> PosC<T> {
 // ---------- Area ----------
 
 impl<T> AreaC<T> {
-  pub fn contains(&self, p: PosC<T>) -> bool where T: Ord {
+  pub fn contains(&self, p: PosC<T>) -> bool where T: PartialOrd {
     (0..2).all(|i| {
       p.0[i] >= self.0[0].0[i] &&
       p.0[i] <= self.0[1].0[i]
     })
   }
 
-  pub fn overlaps(&self, other: &AreaC<T>) -> bool where T: Ord {
+  pub fn overlaps(&self, other: &AreaC<T>) -> bool where T: PartialOrd {
     ! (0..2).any(|i| (
       other.0[1].0[i] < self .0[0].0[i] ||
       self .0[1].0[i] < other.0[0].0[i]
@@ -245,7 +245,7 @@ pub enum Region<T> {
 }
 
 impl<T> Region<T> {
-  pub fn contains(&self, pos: PosC<T>) -> bool where T: Ord {
+  pub fn contains(&self, pos: PosC<T>) -> bool where T: PartialOrd {
     use Region::*;
     match &self {
       Rectangle(a) => a.contains(pos),