diff --git a/crates/milli/src/update/new/merger.rs b/crates/milli/src/update/new/merger.rs index 9728f99d6..9e87388a2 100644 --- a/crates/milli/src/update/new/merger.rs +++ b/crates/milli/src/update/new/merger.rs @@ -235,8 +235,12 @@ fn merge_cbo_bitmaps( (Some(_current), None, None) => Ok(Operation::Ignore), // but it's strange (Some(current), None, Some(add)) => Ok(Operation::Write(current | add)), (Some(current), Some(del), add) => { + debug_assert!( + del.is_subset(¤t), + "del is not a subset of current, which must be impossible." + ); let output = match add { - Some(add) => (¤t - del) | add, + Some(add) => (¤t - (&del - &add)) | (add - del), None => ¤t - del, }; if output.is_empty() {