From: Ian Jackson Date: Sat, 21 Nov 2020 00:55:34 +0000 (+0000) Subject: lower: fix order of range X-Git-Tag: otter-0.2.0~448 X-Git-Url: https://www.chiark.greenend.org.uk/ucgi/~ianmdlvl/git?a=commitdiff_plain;h=0883b51a6ad78e8553414d26c55fb7081b12c218;p=otter.git lower: fix order of range Signed-off-by: Ian Jackson --- diff --git a/templates/script.ts b/templates/script.ts index 607571a9..f0e31af1 100644 --- a/templates/script.ts +++ b/templates/script.ts @@ -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, }; diff --git a/zcoord/zcoord.rs b/zcoord/zcoord.rs index 937b6de3..adda1987 100644 --- a/zcoord/zcoord.rs +++ b/zcoord/zcoord.rs @@ -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)? + }), } }