chiark / gitweb /
lower: fix order of range
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 21 Nov 2020 00:55:34 +0000 (00:55 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sat, 21 Nov 2020 00:55:34 +0000 (00:55 +0000)
Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
templates/script.ts
zcoord/zcoord.rs

index 607571a99c6391e5bf4149bf1b959d44c620a0a2..f0e31af159508a88c98c643b37525f656cd5a265 100644 (file)
@@ -494,7 +494,7 @@ function lower_pieces(targets_todo: LowerTodoList):
       wasm_bindgen.def_zcoord();
 
   type PlanEntry = {
-    content: Entry[],
+    content: Entry[], // bottom to top
     z_top: ZCoord | null,
     z_bot: ZCoord | null,
   };
index 937b6de355518c7450aef7359afe8e7ff835a653..adda1987dca1a00244521620385a66608bff892e 100644 (file)
@@ -407,8 +407,12 @@ impl Mutable {
     match (a, b) {
       (None,    None   ) => throw!(TotallyUnboundedRange),
       (Some(a), None   ) => mk( a.clone().iter(Increment) ),
-      (None,    Some(b)) => mk( b.clone().iter(Decrement) ),
       (Some(a), Some(b)) => mk( Mutable::range_upto(&a,&b,count)? ),
+      (None,    Some(b)) => mk({
+        let mut first = b.clone();
+        first.addsub(&Decrement).unwrap();
+        Mutable::range_upto(&first,&b,count)?
+      }),
     }
   }