From 71bf91201a18827314bb29c539b9935d5a61fd65 2020-02-21 17:24:08 From: Christopher Esterhuyse Date: 2020-02-21 17:24:08 Subject: [PATCH] laying out communications with bitmatrix --- diff --git a/src/runtime/experimental/api.rs b/src/runtime/experimental/api.rs index 2532056a07867a730c8730444571df18107c5bea..c4787e948646d04ca14174383afc98d444186256 100644 --- a/src/runtime/experimental/api.rs +++ b/src/runtime/experimental/api.rs @@ -595,11 +595,17 @@ impl Connected { .ephemeral .bit_matrix .iter_entities_where_rev(&mut usize_buf, move |p| p[PROP_TO_REMOVE]); - self.ephemeral.bit_matrix = Default::default(); // clear matrix for machine_index in machine_index_iter { - self.ephemeral.machines.swap_remove(machine_index as usize); + let machine = self.ephemeral.machines.swap_remove(machine_index as usize); + drop(machine); } + // from now on, the number + let matrix_bounds = Pair { entity: self.ephemeral.machines.len() as u32 * 2, property: 8 }; + self.ephemeral.bit_matrix = BitMatrix::new(matrix_bounds); // clear propertties + + // !!! TODO poly run until solution is found + // logically destructure self so we can read and write to different fields interleaved... let solution_assignments: Vec<(ChannelId, bool)> = vec![]; let Self {