diff --git a/.github/workflows/valgrind.yml b/.github/workflows/valgrind.yml index c668618d..fd9cf1af 100644 --- a/.github/workflows/valgrind.yml +++ b/.github/workflows/valgrind.yml @@ -13,7 +13,7 @@ jobs: matrix: os: [ubuntu-latest] rust: - - stable + - 1.82.0 steps: - name: Cancel Previous Runs uses: styfle/cancel-workflow-action@0.12.1 @@ -34,7 +34,7 @@ jobs: - run: sudo apt-get install -y valgrind if: matrix.os == 'ubuntu-latest' - run: cargo install cargo-valgrind - - name: run cargo valgrind + - name: run cargo valgrind --locked run: | cargo valgrind test --all-targets --all-features - name: run cargo valgrind on doc tests diff --git a/src/edge_differences.rs b/src/edge_differences.rs index 4cf73f83..19a3bdab 100644 --- a/src/edge_differences.rs +++ b/src/edge_differences.rs @@ -149,7 +149,7 @@ pub type EdgeInsertion = EdgeDifference; /// Type alias for [`EdgeDifference`] pub type EdgeRemoval = EdgeDifference; -impl<'a, T> Iterator for EdgeDifferences<'a, T> +impl Iterator for EdgeDifferences<'_, T> where T: private::EdgeDifferenceIteration, { diff --git a/src/edge_table.rs b/src/edge_table.rs index c22305c3..13a66b2a 100644 --- a/src/edge_table.rs +++ b/src/edge_table.rs @@ -43,7 +43,7 @@ fn make_edge_table_row(table: &EdgeTable, pos: tsk_id_t) -> Option pub(crate) type EdgeTableRefIterator<'a> = crate::table_iterator::TableIterator<&'a EdgeTable>; pub(crate) type EdgeTableIterator = crate::table_iterator::TableIterator; -impl<'a> Iterator for EdgeTableRefIterator<'a> { +impl Iterator for EdgeTableRefIterator<'_> { type Item = EdgeTableRow; fn next(&mut self) -> Option { @@ -89,7 +89,7 @@ impl<'a> EdgeTableRowView<'a> { } } -impl<'a> PartialEq for EdgeTableRowView<'a> { +impl PartialEq for EdgeTableRowView<'_> { fn eq(&self, other: &Self) -> bool { self.id == other.id && self.parent == other.parent @@ -100,9 +100,9 @@ impl<'a> PartialEq for EdgeTableRowView<'a> { } } -impl<'a> Eq for EdgeTableRowView<'a> {} +impl Eq for EdgeTableRowView<'_> {} -impl<'a> PartialEq for EdgeTableRowView<'a> { +impl PartialEq for EdgeTableRowView<'_> { fn eq(&self, other: &EdgeTableRow) -> bool { self.id == other.id && self.parent == other.parent @@ -124,7 +124,7 @@ impl PartialEq> for EdgeTableRow { } } -impl<'a> streaming_iterator::StreamingIterator for EdgeTableRowView<'a> { +impl streaming_iterator::StreamingIterator for EdgeTableRowView<'_> { type Item = Self; row_lending_iterator_get!(); diff --git a/src/individual_table.rs b/src/individual_table.rs index 341eb555..af4bbf46 100644 --- a/src/individual_table.rs +++ b/src/individual_table.rs @@ -50,7 +50,7 @@ impl<'a> IndividualTableRowView<'a> { } } -impl<'a> PartialEq for IndividualTableRowView<'a> { +impl PartialEq for IndividualTableRowView<'_> { fn eq(&self, other: &Self) -> bool { self.id == other.id && self.flags == other.flags @@ -60,9 +60,9 @@ impl<'a> PartialEq for IndividualTableRowView<'a> { } } -impl<'a> Eq for IndividualTableRowView<'a> {} +impl Eq for IndividualTableRowView<'_> {} -impl<'a> PartialEq for IndividualTableRowView<'a> { +impl PartialEq for IndividualTableRowView<'_> { fn eq(&self, other: &IndividualTableRow) -> bool { self.id == other.id && self.flags == other.flags @@ -82,7 +82,7 @@ impl PartialEq> for IndividualTableRow { } } -impl<'a> streaming_iterator::StreamingIterator for IndividualTableRowView<'a> { +impl streaming_iterator::StreamingIterator for IndividualTableRowView<'_> { type Item = Self; row_lending_iterator_get!(); @@ -162,7 +162,7 @@ pub(crate) type IndividualTableRefIterator<'a> = crate::table_iterator::TableIterator<&'a IndividualTable>; pub(crate) type IndividualTableIterator = crate::table_iterator::TableIterator; -impl<'a> Iterator for IndividualTableRefIterator<'a> { +impl Iterator for IndividualTableRefIterator<'_> { type Item = IndividualTableRow; fn next(&mut self) -> Option { diff --git a/src/migration_table.rs b/src/migration_table.rs index 1d98e90d..223f681b 100644 --- a/src/migration_table.rs +++ b/src/migration_table.rs @@ -52,7 +52,7 @@ pub(crate) type MigrationTableRefIterator<'a> = crate::table_iterator::TableIterator<&'a MigrationTable>; pub(crate) type MigrationTableIterator = crate::table_iterator::TableIterator; -impl<'a> Iterator for MigrationTableRefIterator<'a> { +impl Iterator for MigrationTableRefIterator<'_> { type Item = MigrationTableRow; fn next(&mut self) -> Option { @@ -101,7 +101,7 @@ impl<'a> MigrationTableRowView<'a> { } } -impl<'a> PartialEq for MigrationTableRowView<'a> { +impl PartialEq for MigrationTableRowView<'_> { fn eq(&self, other: &Self) -> bool { self.id == other.id && self.node == other.node @@ -114,9 +114,9 @@ impl<'a> PartialEq for MigrationTableRowView<'a> { } } -impl<'a> Eq for MigrationTableRowView<'a> {} +impl Eq for MigrationTableRowView<'_> {} -impl<'a> PartialEq for MigrationTableRowView<'a> { +impl PartialEq for MigrationTableRowView<'_> { fn eq(&self, other: &MigrationTableRow) -> bool { self.id == other.id && self.node == other.node @@ -142,7 +142,7 @@ impl PartialEq> for MigrationTableRow { } } -impl<'a> streaming_iterator::StreamingIterator for MigrationTableRowView<'a> { +impl streaming_iterator::StreamingIterator for MigrationTableRowView<'_> { type Item = Self; row_lending_iterator_get!(); diff --git a/src/mutation_table.rs b/src/mutation_table.rs index cdc631c8..c98d586a 100644 --- a/src/mutation_table.rs +++ b/src/mutation_table.rs @@ -55,7 +55,7 @@ pub(crate) type MutationTableRefIterator<'a> = crate::table_iterator::TableIterator<&'a MutationTable>; pub(crate) type MutationTableIterator = crate::table_iterator::TableIterator; -impl<'a> Iterator for MutationTableRefIterator<'a> { +impl Iterator for MutationTableRefIterator<'_> { type Item = MutationTableRow; fn next(&mut self) -> Option { @@ -102,7 +102,7 @@ impl<'a> MutationTableRowView<'a> { } } -impl<'a> PartialEq for MutationTableRowView<'a> { +impl PartialEq for MutationTableRowView<'_> { fn eq(&self, other: &Self) -> bool { self.id == other.id && self.site == other.site @@ -114,9 +114,9 @@ impl<'a> PartialEq for MutationTableRowView<'a> { } } -impl<'a> Eq for MutationTableRowView<'a> {} +impl Eq for MutationTableRowView<'_> {} -impl<'a> PartialEq for MutationTableRowView<'a> { +impl PartialEq for MutationTableRowView<'_> { fn eq(&self, other: &MutationTableRow) -> bool { self.id == other.id && self.site == other.site @@ -140,7 +140,7 @@ impl PartialEq> for MutationTableRow { } } -impl<'a> streaming_iterator::StreamingIterator for MutationTableRowView<'a> { +impl streaming_iterator::StreamingIterator for MutationTableRowView<'_> { type Item = Self; row_lending_iterator_get!(); diff --git a/src/node_table.rs b/src/node_table.rs index 754dfd86..54179dce 100644 --- a/src/node_table.rs +++ b/src/node_table.rs @@ -45,7 +45,7 @@ fn make_node_table_row(table: &NodeTable, pos: tsk_id_t) -> Option pub(crate) type NodeTableRefIterator<'a> = crate::table_iterator::TableIterator<&'a NodeTable>; pub(crate) type NodeTableIterator = crate::table_iterator::TableIterator; -impl<'a> Iterator for NodeTableRefIterator<'a> { +impl Iterator for NodeTableRefIterator<'_> { type Item = NodeTableRow; fn next(&mut self) -> Option { @@ -90,7 +90,7 @@ impl<'a> NodeTableRowView<'a> { } } -impl<'a> PartialEq for NodeTableRowView<'a> { +impl PartialEq for NodeTableRowView<'_> { fn eq(&self, other: &Self) -> bool { self.id == other.id && self.flags == other.flags @@ -101,9 +101,9 @@ impl<'a> PartialEq for NodeTableRowView<'a> { } } -impl<'a> Eq for NodeTableRowView<'a> {} +impl Eq for NodeTableRowView<'_> {} -impl<'a> PartialEq for NodeTableRowView<'a> { +impl PartialEq for NodeTableRowView<'_> { fn eq(&self, other: &NodeTableRow) -> bool { self.id == other.id && self.flags == other.flags @@ -125,7 +125,7 @@ impl PartialEq> for NodeTableRow { } } -impl<'a> streaming_iterator::StreamingIterator for NodeTableRowView<'a> { +impl streaming_iterator::StreamingIterator for NodeTableRowView<'_> { type Item = Self; row_lending_iterator_get!(); diff --git a/src/population_table.rs b/src/population_table.rs index 92629d62..b36d2b53 100644 --- a/src/population_table.rs +++ b/src/population_table.rs @@ -38,7 +38,7 @@ pub(crate) type PopulationTableRefIterator<'a> = crate::table_iterator::TableIterator<&'a PopulationTable>; pub(crate) type PopulationTableIterator = crate::table_iterator::TableIterator; -impl<'a> Iterator for PopulationTableRefIterator<'a> { +impl Iterator for PopulationTableRefIterator<'_> { type Item = PopulationTableRow; fn next(&mut self) -> Option { @@ -75,15 +75,15 @@ impl<'a> PopulationTableRowView<'a> { } } -impl<'a> PartialEq for PopulationTableRowView<'a> { +impl PartialEq for PopulationTableRowView<'_> { fn eq(&self, other: &Self) -> bool { self.id == other.id && self.metadata == other.metadata } } -impl<'a> Eq for PopulationTableRowView<'a> {} +impl Eq for PopulationTableRowView<'_> {} -impl<'a> PartialEq for PopulationTableRowView<'a> { +impl PartialEq for PopulationTableRowView<'_> { fn eq(&self, other: &PopulationTableRow) -> bool { self.id == other.id && optional_container_comparison!(self.metadata, other.metadata) } @@ -95,7 +95,7 @@ impl PartialEq> for PopulationTableRow { } } -impl<'a> streaming_iterator::StreamingIterator for PopulationTableRowView<'a> { +impl streaming_iterator::StreamingIterator for PopulationTableRowView<'_> { type Item = Self; row_lending_iterator_get!(); diff --git a/src/provenance.rs b/src/provenance.rs index 6c445479..9cecb2e1 100644 --- a/src/provenance.rs +++ b/src/provenance.rs @@ -54,7 +54,7 @@ fn make_provenance_row(table: &ProvenanceTable, pos: tsk_id_t) -> Option = crate::table_iterator::TableIterator<&'a ProvenanceTable>; type ProvenanceTableIterator = crate::table_iterator::TableIterator; -impl<'a> Iterator for ProvenanceTableRefIterator<'a> { +impl Iterator for ProvenanceTableRefIterator<'_> { type Item = ProvenanceTableRow; fn next(&mut self) -> Option { @@ -96,7 +96,7 @@ impl<'a> ProvenanceTableRowView<'a> { } } -impl<'a> PartialEq for ProvenanceTableRowView<'a> { +impl PartialEq for ProvenanceTableRowView<'_> { fn eq(&self, other: &Self) -> bool { self.id == other.id && self.timestamp == other.timestamp && self.record == other.record } @@ -104,7 +104,7 @@ impl<'a> PartialEq for ProvenanceTableRowView<'a> { impl Eq for ProvenanceTableRowView<'_> {} -impl<'a> PartialEq for ProvenanceTableRowView<'a> { +impl PartialEq for ProvenanceTableRowView<'_> { fn eq(&self, other: &ProvenanceTableRow) -> bool { self.id == other.id && self.timestamp == other.timestamp && self.record == other.record } @@ -116,7 +116,7 @@ impl PartialEq> for ProvenanceTableRow { } } -impl<'a> streaming_iterator::StreamingIterator for ProvenanceTableRowView<'a> { +impl streaming_iterator::StreamingIterator for ProvenanceTableRowView<'_> { type Item = Self; row_lending_iterator_get!(); diff --git a/src/site_table.rs b/src/site_table.rs index e0333c66..4aadef2e 100644 --- a/src/site_table.rs +++ b/src/site_table.rs @@ -39,7 +39,7 @@ fn make_site_table_row(table: &SiteTable, pos: tsk_id_t) -> Option pub(crate) type SiteTableRefIterator<'a> = crate::table_iterator::TableIterator<&'a SiteTable>; pub(crate) type SiteTableIterator = crate::table_iterator::TableIterator; -impl<'a> Iterator for SiteTableRefIterator<'a> { +impl Iterator for SiteTableRefIterator<'_> { type Item = SiteTableRow; fn next(&mut self) -> Option { @@ -80,7 +80,7 @@ impl<'a> SiteTableRowView<'a> { } } -impl<'a> PartialEq for SiteTableRowView<'a> { +impl PartialEq for SiteTableRowView<'_> { fn eq(&self, other: &Self) -> bool { self.id == other.id && crate::util::partial_cmp_equal(&self.position, &other.position) @@ -89,9 +89,9 @@ impl<'a> PartialEq for SiteTableRowView<'a> { } } -impl<'a> Eq for SiteTableRowView<'a> {} +impl Eq for SiteTableRowView<'_> {} -impl<'a> PartialEq for SiteTableRowView<'a> { +impl PartialEq for SiteTableRowView<'_> { fn eq(&self, other: &SiteTableRow) -> bool { self.id == other.id && crate::util::partial_cmp_equal(&self.position, &other.position) @@ -109,7 +109,7 @@ impl PartialEq> for SiteTableRow { } } -impl<'a> streaming_iterator::StreamingIterator for SiteTableRowView<'a> { +impl streaming_iterator::StreamingIterator for SiteTableRowView<'_> { type Item = Self; row_lending_iterator_get!(); diff --git a/src/tree_interface.rs b/src/tree_interface.rs index df843496..5fe5b581 100644 --- a/src/tree_interface.rs +++ b/src/tree_interface.rs @@ -463,10 +463,10 @@ impl TreeInterface { } } - /// Return the [`crate::NodeTable`] for this current tree - /// (and the tree sequence from which it came). - /// - /// This is a convenience function for accessing node times, etc.. + // /// Return the [`crate::NodeTable`] for this current tree + // /// (and the tree sequence from which it came). + // /// + // /// This is a convenience function for accessing node times, etc.. // fn node_table(&self) -> &crate::NodeTable { // &self.nodes // } @@ -664,7 +664,7 @@ impl<'a> PostorderNodeIterator<'a> { } } -impl<'a> Iterator for PostorderNodeIterator<'a> { +impl Iterator for PostorderNodeIterator<'_> { type Item = NodeId; fn next(&mut self) -> Option { match self.current_node_index < self.num_nodes_current_tree { diff --git a/src/trees/tree.rs b/src/trees/tree.rs index ed03c386..10bea88c 100644 --- a/src/trees/tree.rs +++ b/src/trees/tree.rs @@ -17,14 +17,14 @@ pub struct Tree<'treeseq> { advanced: i32, } -impl<'treeseq> Deref for Tree<'treeseq> { +impl Deref for Tree<'_> { type Target = TreeInterface; fn deref(&self) -> &Self::Target { &self.api } } -impl<'treeseq> DerefMut for Tree<'treeseq> { +impl DerefMut for Tree<'_> { fn deref_mut(&mut self) -> &mut Self::Target { &mut self.api } @@ -106,7 +106,7 @@ impl<'ts> streaming_iterator::StreamingIterator for Tree<'ts> { } } -impl<'ts> streaming_iterator::DoubleEndedStreamingIterator for Tree<'ts> { +impl streaming_iterator::DoubleEndedStreamingIterator for Tree<'_> { fn advance_back(&mut self) { assert!(!self.as_ptr().is_null()); // SAFETY: pointer is not null.