chiark / gitweb /
utils: Fix Area (!)
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 5 Mar 2021 19:37:26 +0000 (19:37 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Fri, 5 Mar 2021 19:37:26 +0000 (19:37 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
src/spec.rs

index 3064a2ebcd392aa40391daed876629a74f7e0df0..06af4565850402581646b5e345ba960d6be9b7be 100644 (file)
@@ -363,15 +363,15 @@ pub mod implementation {
   impl<T> AreaC<T> {
     pub fn contains(&self, p: PosC<T>) -> bool where T: Ord {
       (0..2).all(|i| {
-        p.0[i] < self.0[0].0[i] ||
-        p.0[i] > self.0[1].0[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 {
-      (0..2).all(|i| !(
-        other.0[1].0[i] < self.0[0].0[i] ||
-        other.0[0].0[i] > self.0[1].0[i]
+      ! (0..2).any(|i| !(
+        other.0[1].0[i] < self .0[0].0[i] ||
+        self .0[1].0[i] < other.0[0].0[i]
       ))
     }
   }