diff --git a/src/node/node_modifier.rs b/src/node/node_modifier.rs index c748d7e..19dcfb3 100644 --- a/src/node/node_modifier.rs +++ b/src/node/node_modifier.rs @@ -13,6 +13,9 @@ impl<'a> NodeModifier<'a> { let mut selected = root; while random_range(0..PICK_STOP_PROBABILITY) == PICK_STOP_PROBABILITY - 1 { let len = selected.children.len(); + if len == 0 { + break; + } selected = &mut selected.children[random_range(0..len)]; } NodeModifier { @@ -34,4 +37,6 @@ impl<'a> NodeModifier<'a> { node.children.push(moved); self.picked_node.children.insert(operated_index, node); } + + pub fn mutate_node(&mut self) {} }