From 1bb33e04465b82d7ea6f8bac8ad11db5fc9a58e9 Mon Sep 17 00:00:00 2001 From: Jeffrey Finkelstein Date: Tue, 7 Jan 2025 19:41:16 -0500 Subject: [PATCH] tsort: derive Default trait for Node struct Replace custom `Node::new` function with derived `Default` implementation, which does the same thing but more concisely. --- src/uu/tsort/src/tsort.rs | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/src/uu/tsort/src/tsort.rs b/src/uu/tsort/src/tsort.rs index ea5084a34..9b60e4828 100644 --- a/src/uu/tsort/src/tsort.rs +++ b/src/uu/tsort/src/tsort.rs @@ -114,20 +114,13 @@ pub fn uu_app() -> Command { // We use String as a representation of node here // but using integer may improve performance. - +#[derive(Default)] struct Node<'input> { successor_names: Vec<&'input str>, predecessor_count: usize, } impl<'input> Node<'input> { - fn new() -> Self { - Node { - successor_names: Vec::new(), - predecessor_count: 0, - } - } - fn add_successor(&mut self, successor_name: &'input str) { self.successor_names.push(successor_name); } @@ -139,7 +132,7 @@ struct Graph<'input> { impl<'input> Graph<'input> { fn add_node(&mut self, name: &'input str) { - self.nodes.entry(name).or_insert_with(Node::new); + self.nodes.entry(name).or_default(); } fn add_edge(&mut self, from: &'input str, to: &'input str) {