From 5dd12e92f30ca085aaf1ff86ee44cc7039f1e23a Mon Sep 17 00:00:00 2001 From: Manuel Penschuck Date: Mon, 24 Nov 2025 12:23:47 +0100 Subject: [PATCH 1/6] Rename dash -> hash --- src/binary_tree/mod.rs | 2 +- src/pace/reader.rs | 16 ++++++++-------- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/binary_tree/mod.rs b/src/binary_tree/mod.rs index 33a70bf..79478c7 100644 --- a/src/binary_tree/mod.rs +++ b/src/binary_tree/mod.rs @@ -6,7 +6,7 @@ pub use indexed_bin_tree::*; pub mod depth_first_search; pub use depth_first_search::DepthFirstSearch; -#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash)] +#[derive(Debug, Clone, Copy, PartialEq, Eq, PartialOrd, Ord, Hash, Default)] pub struct NodeIdx(pub u32); impl NodeIdx { diff --git a/src/pace/reader.rs b/src/pace/reader.rs index b98f8c1..9b75e8b 100644 --- a/src/pace/reader.rs +++ b/src/pace/reader.rs @@ -55,7 +55,7 @@ pub trait InstanceVisitor { fn visit_line_with_extra_whitespace(&mut self, _lineno: usize, _line: &str) -> Action { Action::Continue } - fn visit_unrecognized_dash_line(&mut self, _lineno: usize, _line: &str) -> Action { + fn visit_unrecognized_hash_line(&mut self, _lineno: usize, _line: &str) -> Action { Action::Continue } fn visit_unrecognized_line(&mut self, _lineno: usize, _line: &str) -> Action { @@ -221,7 +221,7 @@ impl<'a, V: InstanceVisitor> InstanceReader<'a, V> { } } else { // unrecognized line - visit!(visit_unrecognized_dash_line, lineno, content); + visit!(visit_unrecognized_hash_line, lineno, content); } continue; } @@ -247,7 +247,7 @@ mod tests { pub headers: Vec<(usize, usize, usize)>, pub trees: Vec<(usize, String)>, pub extra_whitespace_lines: Vec<(usize, String)>, - pub unrecognized_dash_lines: Vec<(usize, String)>, + pub unrecognized_hash_lines: Vec<(usize, String)>, pub unrecognized_lines: Vec<(usize, String)>, pub stride_lines: Vec<(usize, String, String, String)>, pub param_tree_decomp: Option<(usize, TreeDecomposition)>, @@ -269,8 +269,8 @@ mod tests { Action::Continue } - fn visit_unrecognized_dash_line(&mut self, lineno: usize, line: &str) -> Action { - self.unrecognized_dash_lines + fn visit_unrecognized_hash_line(&mut self, lineno: usize, line: &str) -> Action { + self.unrecognized_hash_lines .push((lineno, line.to_string())); Action::Continue } @@ -318,7 +318,7 @@ mod tests { vec![(1, "(1);".to_string()), (3, "(2);".to_string())] ); assert!(visitor.extra_whitespace_lines.is_empty()); - assert!(visitor.unrecognized_dash_lines.is_empty()); + assert!(visitor.unrecognized_hash_lines.is_empty()); assert!(visitor.unrecognized_lines.is_empty()); } @@ -339,7 +339,7 @@ mod tests { visitor.extra_whitespace_lines, vec![(1, " (1);".to_string())] ); - assert!(visitor.unrecognized_dash_lines.is_empty()); + assert!(visitor.unrecognized_hash_lines.is_empty()); assert!(visitor.unrecognized_lines.is_empty()); } @@ -361,7 +361,7 @@ mod tests { vec![(1, " (1);".to_string())] ); assert_eq!( - visitor.unrecognized_dash_lines, + visitor.unrecognized_hash_lines, vec![(4, "# Date: Thu, 27 Nov 2025 12:04:06 +0100 Subject: [PATCH 2/6] Fix typo: leafs -> leaves --- src/pace/reader.rs | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/pace/reader.rs b/src/pace/reader.rs index 9b75e8b..9d9f6f6 100644 --- a/src/pace/reader.rs +++ b/src/pace/reader.rs @@ -46,7 +46,7 @@ pub struct InstanceReader<'a, V: InstanceVisitor> { /// /// Example: see the documentation of [`InstanceReader`]. pub trait InstanceVisitor { - fn visit_header(&mut self, _lineno: usize, _num_trees: usize, _num_leafs: usize) -> Action { + fn visit_header(&mut self, _lineno: usize, _num_trees: usize, _num_leaves: usize) -> Action { Action::Continue } fn visit_tree(&mut self, _lineno: usize, _line: &str) -> Action { @@ -254,8 +254,8 @@ mod tests { } impl InstanceVisitor for TestVisitor { - fn visit_header(&mut self, lineno: usize, num_trees: usize, num_leafs: usize) -> Action { - self.headers.push((lineno, num_trees, num_leafs)); + fn visit_header(&mut self, lineno: usize, num_trees: usize, num_leaves: usize) -> Action { + self.headers.push((lineno, num_trees, num_leaves)); Action::Continue } From 03153925c0dca478f4754bd9568e41793b019780 Mon Sep 17 00:00:00 2001 From: Manuel Penschuck Date: Thu, 27 Nov 2025 12:06:04 +0100 Subject: [PATCH 3/6] Add TopDownCursor::visit --- src/binary_tree/mod.rs | 39 +++++++++++++++++++++++++++++++- src/newick/binary_tree_writer.rs | 21 +++++++++-------- 2 files changed, 49 insertions(+), 11 deletions(-) diff --git a/src/binary_tree/mod.rs b/src/binary_tree/mod.rs index 79478c7..21eb244 100644 --- a/src/binary_tree/mod.rs +++ b/src/binary_tree/mod.rs @@ -28,11 +28,13 @@ impl From