From 45ab8f460d8cf06183c3c187957653805b532fa6 Mon Sep 17 00:00:00 2001 From: "Kevin R. Thornton" Date: Wed, 7 Dec 2022 08:16:04 -0800 Subject: [PATCH] refactor: tidy up table definitions * All tables are now repr(transparent) * Clean up internal field visibility issue for EdgeTable. --- src/edge_table.rs | 2 +- src/individual_table.rs | 1 + src/migration_table.rs | 1 + src/mutation_table.rs | 1 + src/node_table.rs | 1 + src/provenance.rs | 1 + src/site_table.rs | 1 + src/table_collection.rs | 2 +- 8 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/edge_table.rs b/src/edge_table.rs index 822b62b3d..acc3bd2a2 100644 --- a/src/edge_table.rs +++ b/src/edge_table.rs @@ -145,7 +145,7 @@ impl<'a> streaming_iterator::StreamingIterator for EdgeTableRowView<'a> { #[repr(transparent)] #[derive(Debug)] pub struct EdgeTable { - pub(crate) table_: sys::LLEdgeTableRef, + table_: sys::LLEdgeTableRef, } impl EdgeTable { diff --git a/src/individual_table.rs b/src/individual_table.rs index 383c0182d..269e3d73d 100644 --- a/src/individual_table.rs +++ b/src/individual_table.rs @@ -101,6 +101,7 @@ impl<'a> streaming_iterator::StreamingIterator for IndividualTableRowView<'a> { /// by types implementing [`std::ops::Deref`] to /// [`crate::table_views::TableViews`] #[derive(Debug)] +#[repr(transparent)] pub struct IndividualTable { table_: sys::LLIndividualTableRef, } diff --git a/src/migration_table.rs b/src/migration_table.rs index e4a5efe50..90afd3cbf 100644 --- a/src/migration_table.rs +++ b/src/migration_table.rs @@ -163,6 +163,7 @@ impl<'a> streaming_iterator::StreamingIterator for MigrationTableRowView<'a> { /// by types implementing [`std::ops::Deref`] to /// [`crate::table_views::TableViews`] #[derive(Debug)] +#[repr(transparent)] pub struct MigrationTable { table_: sys::LLMigrationTableRef, } diff --git a/src/mutation_table.rs b/src/mutation_table.rs index 01ccfdce6..19f28da06 100644 --- a/src/mutation_table.rs +++ b/src/mutation_table.rs @@ -160,6 +160,7 @@ impl<'a> streaming_iterator::StreamingIterator for MutationTableRowView<'a> { /// by types implementing [`std::ops::Deref`] to /// [`crate::table_views::TableViews`] #[derive(Debug)] +#[repr(transparent)] pub struct MutationTable { table_: sys::LLMutationTableRef, } diff --git a/src/node_table.rs b/src/node_table.rs index c78dbdc47..d460bed93 100644 --- a/src/node_table.rs +++ b/src/node_table.rs @@ -144,6 +144,7 @@ impl<'a> streaming_iterator::StreamingIterator for NodeTableRowView<'a> { /// by types implementing [`std::ops::Deref`] to /// [`crate::table_views::TableViews`] #[derive(Debug)] +#[repr(transparent)] pub struct NodeTable { table_: sys::LLNodeTableRef, } diff --git a/src/provenance.rs b/src/provenance.rs index 1bf5a7d95..6dada95db 100644 --- a/src/provenance.rs +++ b/src/provenance.rs @@ -137,6 +137,7 @@ impl<'a> streaming_iterator::StreamingIterator for ProvenanceTableRowView<'a> { /// * The type is enabled by the `"provenance"` feature. /// #[derive(Debug)] +#[repr(transparent)] pub struct ProvenanceTable { table_: sys::LLProvenanceTableRef, } diff --git a/src/site_table.rs b/src/site_table.rs index ebd0ea2c8..89130176b 100644 --- a/src/site_table.rs +++ b/src/site_table.rs @@ -130,6 +130,7 @@ impl<'a> streaming_iterator::StreamingIterator for SiteTableRowView<'a> { /// by types implementing [`std::ops::Deref`] to /// [`crate::table_views::TableViews`] #[derive(Debug)] +#[repr(transparent)] pub struct SiteTable { table_: sys::LLSiteTableRef, } diff --git a/src/table_collection.rs b/src/table_collection.rs index ac069f8e4..bcbe21aed 100644 --- a/src/table_collection.rs +++ b/src/table_collection.rs @@ -109,7 +109,7 @@ impl TableCollection { // AHA? assert!(std::ptr::eq( &mbox.as_ref().edges as *const ll_bindings::tsk_edge_table_t, - views.edges().table_.as_ref() as *const ll_bindings::tsk_edge_table_t + views.edges().as_ref() as *const ll_bindings::tsk_edge_table_t )); let mut tables = Self { inner: mbox,