Skip to main content

Catalog

Struct Catalog 

Source
pub struct Catalog { /* private fields */ }

Implementations§

Source§

impl Catalog

Source

pub fn save_analyzer(&self, name: &str, config_json: &str) -> Result<()>

Persist a named analyzer configuration.

Source

pub fn drop_analyzer(&self, name: &str) -> Result<()>

Source

pub fn load_analyzers(&self) -> Result<Vec<(String, String)>>

Source

pub fn save_table_field_analyzer( &self, table_name: &str, field: &str, phase: &str, analyzer_name: &str, ) -> Result<()>

Persist a (table, field, phase) -> analyzer_name mapping.

Source

pub fn drop_table_field_analyzers(&self, table_name: &str) -> Result<()>

Source

pub fn replace_table_field_analyzer( &self, table_name: &str, field: &str, phase: &str, analyzer_name: &str, ) -> Result<()>

Source

pub fn drop_table_field_analyzer_field( &self, table_name: &str, field: &str, ) -> Result<()>

Source

pub fn load_table_field_analyzers( &self, ) -> Result<Vec<(String, String, String, String)>>

Every (table_name, field, phase, analyzer_name) row sorted by (table_name, field, phase).

Source§

impl Catalog

Source§

impl Catalog

Source

pub fn save_foreign_server( &self, name: &str, fdw_type: &str, options_json: &str, ) -> Result<()>

Source

pub fn drop_foreign_server(&self, name: &str) -> Result<()>

Source

pub fn load_foreign_servers(&self) -> Result<Vec<(String, String, String)>>

Source

pub fn save_foreign_table(&self, row: &ForeignTableRow) -> Result<()>

Source

pub fn update_foreign_table_security( &self, relation: &RelationIdentity, role_owner: &str, acl: Option<&[TableAclEntry]>, column_acls: &BTreeMap<String, Vec<TableAclEntry>>, ) -> Result<bool>

Source

pub fn rename_foreign_table( &self, from: &RelationIdentity, to: &RelationIdentity, ) -> Result<bool>

Source

pub fn drop_foreign_table(&self, relation: &RelationIdentity) -> Result<()>

Source

pub fn load_foreign_tables(&self) -> Result<Vec<ForeignTableRow>>

Source

pub fn save_catalog_index( &self, relation: &RelationIdentity, index_type: &str, table_name: &str, columns_json: &str, parameters_json: &str, ) -> Result<()>

Source

pub fn save_catalog_index_row(&self, index: &CatalogIndexRow) -> Result<()>

Source

pub fn drop_catalog_index(&self, relation: &RelationIdentity) -> Result<()>

Source

pub fn drop_catalog_indexes_for_table(&self, table_name: &str) -> Result<()>

Source

pub fn load_catalog_indexes(&self) -> Result<Vec<CatalogIndexRow>>

Source

pub fn save_path_index( &self, graph_name: &str, label_sequences_json: &str, ) -> Result<()>

Source

pub fn drop_path_index(&self, graph_name: &str) -> Result<()>

Source

pub fn load_path_indexes(&self) -> Result<Vec<(String, String)>>

(graph_name, label_sequences_json) for every persisted path index.

Source§

impl Catalog

Source

pub fn load_named_graph_snapshot( &self, name: &str, ) -> Result<Option<GraphSnapshot>>

Indexed, graph-scoped hydration. LEFT JOIN retains invalid memberships so missing entities cannot silently disappear from a restored graph.

Source

pub fn save_named_graph(&self, name: &str) -> Result<()>

Register the existence of a named graph in the catalog.

Source

pub fn drop_named_graph(&self, name: &str) -> Result<()>

Drop the named-graph registry row plus every membership entry that scopes a vertex or edge to this graph. Vertex / edge rows stay in _graph_vertices / _graph_edges until they go orphan; call Catalog::purge_orphan_graph_entities afterwards to collect them. The engine performs that sweep on the catalog’s behalf.

Source

pub fn load_named_graphs(&self) -> Result<Vec<String>>

Return every persisted named graph in sorted order.

Source

pub fn save_vertex( &self, vertex_id: u64, label: &str, properties_json: &str, ) -> Result<()>

Persist a vertex by global id, label, and JSON-encoded property map.

Source

pub fn delete_vertex(&self, vertex_id: u64) -> Result<()>

Delete a vertex by global id.

Source

pub fn load_vertices(&self) -> Result<Vec<(u64, String, String)>>

Every vertex row sorted by id, returned as (vertex_id, label, properties_json) so the caller can rebuild each Vertex from typed columns and the JSON-encoded property map.

Source

pub fn save_edge( &self, edge_id: u64, source_id: u64, target_id: u64, label: &str, properties_json: &str, ) -> Result<()>

Persist an edge by global id with its source and target vertices, label, and JSON-encoded property map.

Source

pub fn delete_edge(&self, edge_id: u64) -> Result<()>

Delete an edge by global id.

Source

pub fn load_edges(&self) -> Result<Vec<EdgeRow>>

Return every edge row in identifier order.

Source

pub fn save_graph_membership( &self, entity_type: &str, entity_id: u64, graph_name: &str, ) -> Result<()>

Attach entity_id (a vertex when entity_type == "vertex", an edge when "edge") to graph_name. The same entity can sit in many graphs; the row is keyed by the full triple so duplicate attaches no-op.

Source

pub fn delete_graph_membership( &self, entity_type: &str, entity_id: u64, graph_name: &str, ) -> Result<()>

Detach entity_id from graph_name.

Source

pub fn delete_graph_membership_for_graph(&self, graph_name: &str) -> Result<()>

Detach every entity from graph_name. Used as the prelude to a full graph drop / Cypher resync.

Source

pub fn load_graph_memberships(&self) -> Result<Vec<(String, u64, String)>>

Every membership row, returned as (entity_type, entity_id, graph_name).

Source

pub fn purge_orphan_graph_entities(&self) -> Result<()>

Drop vertex / edge rows that no membership row still references. Run after a detach / drop to garbage-collect orphaned entities.

Source

pub fn replace_named_graph( &self, graph_name: &str, snapshot: &GraphSnapshot, ) -> Result<()>

Source

pub fn drop_named_graph_data(&self, graph_name: &str) -> Result<()>

Source§

impl Catalog

Source

pub fn named_graph_exists(&self, name: &str) -> Result<bool>

Source

pub fn graph_vertex(&self, id: u64) -> Result<Option<GraphVertexRow>>

Source

pub fn graph_edge(&self, id: u64) -> Result<Option<EdgeRow>>

Source

pub fn graph_entity_ids( &self, filter: GraphEntityFilter<'_>, after: Option<u64>, limit: usize, ) -> Result<Vec<u64>>

Source

pub fn graph_entity_count(&self, filter: GraphEntityFilter<'_>) -> Result<u64>

Source

pub fn graph_entity_max_id(&self, kind: GraphEntityKind) -> Result<Option<u64>>

Source

pub fn graph_entity_memberships( &self, kind: GraphEntityKind, id: u64, ) -> Result<Vec<String>>

Source

pub fn graph_has_membership( &self, kind: GraphEntityKind, id: u64, graph: &str, ) -> Result<bool>

Source§

impl Catalog

Source

pub fn open(conn: ManagedConnection) -> Result<Self>

Open (or create) the catalog and run any pending migrations.

Source

pub fn connection(&self) -> ManagedConnection

Source§

impl Catalog

Source

pub fn save_model(&self, name: &str, json: &str) -> Result<()>

Source

pub fn load_models(&self) -> Result<Vec<(String, String)>>

Source

pub fn load_model(&self, name: &str) -> Result<Option<String>>

Source

pub fn drop_model(&self, name: &str) -> Result<()>

Source

pub fn save_scoring_params(&self, name: &str, params_json: &str) -> Result<()>

Persist Bayesian calibration parameters for a named signal.

Source

pub fn load_scoring_params(&self, name: &str) -> Result<Option<String>>

Load persisted scoring parameters for a single signal.

Source

pub fn load_all_scoring_params(&self) -> Result<Vec<(String, String)>>

Load every persisted (name, params_json) pair sorted by name.

Source

pub fn drop_scoring_params(&self, name: &str) -> Result<()>

Delete persisted scoring parameters for a single signal.

Source§

impl Catalog

Source

pub fn clear_path_index_data(&self, index: &str) -> Result<()>

Source

pub fn save_path_index_pairs( &self, index: &str, sequence: &str, pairs: &[(u64, u64)], ) -> Result<()>

Source

pub fn finish_path_index_data( &self, index: &str, graph: &str, definition: &str, ) -> Result<()>

Source

pub fn path_index_data_is_current( &self, index: &str, definition: &str, ) -> Result<bool>

Source

pub fn path_index_pairs( &self, index: &str, sequence: &str, after: Option<(u64, u64)>, limit: usize, ) -> Result<Vec<(u64, u64)>>

Source§

impl Catalog

Source

pub fn set_metadata(&self, key: &str, value: &str) -> Result<()>

Store an arbitrary key/value pair in the _metadata table.

Source

pub fn get_metadata(&self, key: &str) -> Result<Option<String>>

Read a key/value pair from the _metadata table.

Source

pub fn save_schema(&self, name: &str) -> Result<()>

Source

pub fn save_schema_row(&self, schema: &SchemaRow) -> Result<()>

Source

pub fn drop_schema(&self, name: &str) -> Result<()>

Source

pub fn load_schemas(&self) -> Result<Vec<String>>

Source

pub fn load_schema_rows(&self) -> Result<Vec<SchemaRow>>

Source

pub fn save_table(&self, schema: &TableSchema) -> Result<()>

Source

pub fn load_tables(&self) -> Result<Vec<TableSchema>>

Source

pub fn drop_table(&self, name: &str) -> Result<()>

Source

pub fn purge_table_data(&self, name: &str) -> Result<()>

Wipe the rows owned by table from the per-table data tables (_documents, clustered postings, _doc_lengths, _field_stats, _vectors, IVF/HNSW metadata). Run after Catalog::drop_table when the engine drops the table from its in-memory registry as well.

Source

pub fn drop_table_and_data(&self, name: &str) -> Result<()>

Source

pub fn rename_table_data(&self, from: &str, to: &str) -> Result<()>

Source

pub fn drop_column_data( &self, table_name: &str, column_name: &str, ) -> Result<()>

Source

pub fn rename_column_data( &self, table_name: &str, from: &str, to: &str, ) -> Result<()>

Source§

impl Catalog

Source

pub fn create_sequence_row(&self, sequence: &SequenceRow) -> Result<bool>

Source

pub fn replace_sequence_row(&self, sequence: &SequenceRow) -> Result<bool>

Source

pub fn rename_sequence_row(&self, from: &str, to: &str) -> Result<bool>

Source

pub fn drop_sequence_row(&self, name: &str) -> Result<bool>

Source

pub fn load_sequence_rows(&self) -> Result<Vec<SequenceRow>>

Source

pub fn reserve_sequence_values( &self, name: &str, object_id: [u8; 16], definition_generation: [u8; 16], ) -> Result<SequenceReservationResult>

Source

pub fn set_sequence_value( &self, name: &str, object_id: [u8; 16], value: i64, called: bool, log_count: i64, ) -> Result<Option<i64>>

Source

pub fn save_view(&self, view: &ViewRow) -> Result<()>

Source

pub fn rename_view( &self, from: &RelationIdentity, to: &RelationIdentity, ) -> Result<bool>

Source

pub fn drop_view(&self, relation: &RelationIdentity) -> Result<bool>

Source

pub fn load_views(&self) -> Result<Vec<ViewRow>>

Source§

impl Catalog

Source

pub fn save_column_stats(&self, stats: ColumnStatsInput<'_>) -> Result<()>

Persist a per-column ANALYZE summary so the planner still has cardinality / range estimates after a restart. min_value and max_value are stored as strings (JSON when the value isn’t natively textual) so the column type is irrelevant.

Source

pub fn replace_column_stats( &self, table_name: &str, stats: &[ColumnStatsInput<'_>], ) -> Result<()>

Source

pub fn load_column_stats(&self, table_name: &str) -> Result<Vec<ColumnStatsRow>>

Source

pub fn delete_column_stats(&self, table_name: &str) -> Result<()>

Trait Implementations§

Source§

impl CatalogFacade for Catalog

Source§

fn clear_path_index_data(&self, index: &str) -> StorageBackendResult<()>

Durable reachability records, paged lexicographically by (source, target). Building calls clear, bounded saves, then finish inside one transaction. Graph mutations invalidate the materialization atomically; definitions remain.
Source§

fn save_path_index_pairs( &self, index: &str, sequence: &str, pairs: &[(u64, u64)], ) -> StorageBackendResult<()>

Source§

fn finish_path_index_data( &self, index: &str, graph: &str, definition: &str, ) -> StorageBackendResult<()>

Source§

fn path_index_data_is_current( &self, index: &str, definition: &str, ) -> StorageBackendResult<bool>

Source§

fn path_index_pairs( &self, index: &str, sequence: &str, after: Option<(u64, u64)>, limit: usize, ) -> StorageBackendResult<Vec<(u64, u64)>>

Source§

fn graph_vertex(&self, id: u64) -> StorageBackendResult<Option<GraphVertexRow>>

Read one entity without loading any other graph payload.
Source§

fn graph_edge(&self, id: u64) -> StorageBackendResult<Option<EdgeRow>>

Source§

fn graph_entity_ids( &self, filter: GraphEntityFilter<'_>, after: Option<u64>, limit: usize, ) -> StorageBackendResult<Vec<u64>>

Read a bounded, strictly ascending identity page from the pinned storage snapshot. Filters must be applied before the page limit.
Source§

fn graph_entity_count( &self, filter: GraphEntityFilter<'_>, ) -> StorageBackendResult<u64>

Source§

fn graph_entity_max_id( &self, kind: GraphEntityKind, ) -> StorageBackendResult<Option<u64>>

Source§

fn graph_entity_memberships( &self, kind: GraphEntityKind, id: u64, ) -> StorageBackendResult<Vec<String>>

Source§

fn graph_has_membership( &self, kind: GraphEntityKind, id: u64, graph: &str, ) -> StorageBackendResult<bool>

Source§

fn cache_revisions(&self) -> StorageBackendResult<Option<CatalogCacheRevisions>>

Read transactional cache generations without loading schemas or column statistics. Providers without change tracking use conservative reloads.
Source§

fn set_metadata(&self, key: &str, value: &str) -> StorageBackendResult<()>

Source§

fn get_metadata(&self, key: &str) -> StorageBackendResult<Option<String>>

Source§

fn fts_storage_was_reset(&self) -> bool

Source§

fn migrate_relation_namespace(&self) -> StorageBackendResult<()>

Atomically migrate the former flat relation namespace into typed, schema-owned catalog objects. Implementations must reject normalized or cross-kind collisions instead of merging either object.
Source§

fn save_schema_row(&self, schema: &SchemaRow) -> StorageBackendResult<()>

Source§

fn drop_schema(&self, name: &str) -> StorageBackendResult<()>

Source§

fn load_schema_rows(&self) -> StorageBackendResult<Vec<SchemaRow>>

Source§

fn save_table(&self, schema: &TableSchema) -> StorageBackendResult<()>

Source§

fn load_tables(&self) -> StorageBackendResult<Vec<TableSchema>>

Source§

fn drop_table(&self, name: &str) -> StorageBackendResult<()>

Source§

fn drop_table_and_data(&self, name: &str) -> StorageBackendResult<()>

Remove a table definition and every catalog/data row owned by it as one atomic catalog operation.
Source§

fn purge_table_data(&self, name: &str) -> StorageBackendResult<()>

Source§

fn rename_table_data(&self, from: &str, to: &str) -> StorageBackendResult<()>

Source§

fn drop_column_data( &self, table_name: &str, column_name: &str, ) -> StorageBackendResult<()>

Source§

fn rename_column_data( &self, table_name: &str, from: &str, to: &str, ) -> StorageBackendResult<()>

Source§

fn save_model(&self, name: &str, json: &str) -> StorageBackendResult<()>

Source§

fn load_models(&self) -> StorageBackendResult<Vec<(String, String)>>

Source§

fn load_model(&self, name: &str) -> StorageBackendResult<Option<String>>

Source§

fn drop_model(&self, name: &str) -> StorageBackendResult<()>

Source§

fn save_scoring_params( &self, name: &str, params_json: &str, ) -> StorageBackendResult<()>

Source§

fn load_scoring_params( &self, name: &str, ) -> StorageBackendResult<Option<String>>

Source§

fn load_all_scoring_params(&self) -> StorageBackendResult<Vec<(String, String)>>

Source§

fn drop_scoring_params(&self, name: &str) -> StorageBackendResult<()>

Source§

fn create_sequence_row( &self, sequence: &SequenceRow, ) -> StorageBackendResult<bool>

Source§

fn replace_sequence_row( &self, sequence: &SequenceRow, ) -> StorageBackendResult<bool>

Source§

fn rename_sequence_row( &self, from: &str, to: &str, ) -> StorageBackendResult<bool>

Atomically move one sequence catalog row and its shared relation claim while preserving object identity and physical value state.
Source§

fn drop_sequence_row(&self, name: &str) -> StorageBackendResult<bool>

Source§

fn load_sequence_rows(&self) -> StorageBackendResult<Vec<SequenceRow>>

Source§

fn reserve_sequence_values( &self, name: &str, object_id: [u8; 16], definition_generation: [u8; 16], ) -> StorageBackendResult<SequenceReservationResult>

Source§

fn set_sequence_value( &self, name: &str, object_id: [u8; 16], value: i64, called: bool, log_count: i64, ) -> StorageBackendResult<Option<i64>>

Source§

fn save_view(&self, view: &ViewRow) -> StorageBackendResult<()>

Source§

fn rename_view( &self, from: &RelationIdentity, to: &RelationIdentity, ) -> StorageBackendResult<bool>

Atomically move one view catalog row and its shared relation claim.
Source§

fn drop_view(&self, relation: &RelationIdentity) -> StorageBackendResult<bool>

Source§

fn load_views(&self) -> StorageBackendResult<Vec<ViewRow>>

Source§

fn save_named_graph(&self, name: &str) -> StorageBackendResult<()>

Source§

fn drop_named_graph(&self, name: &str) -> StorageBackendResult<()>

Source§

fn load_named_graphs(&self) -> StorageBackendResult<Vec<String>>

Source§

fn named_graph_exists(&self, name: &str) -> StorageBackendResult<bool>

Source§

fn load_named_graph_snapshot( &self, name: &str, ) -> StorageBackendResult<Option<GraphSnapshot>>

Explicit bulk snapshot/export of one named graph. The caller pins the storage transaction. Engine startup, sessions, and query handles use direct access methods instead of retaining this owned copy.
Source§

fn save_vertex( &self, vertex_id: u64, label: &str, properties_json: &str, ) -> StorageBackendResult<()>

Source§

fn delete_vertex(&self, vertex_id: u64) -> StorageBackendResult<()>

Source§

fn load_vertices(&self) -> StorageBackendResult<Vec<(u64, String, String)>>

Source§

fn save_edge( &self, edge_id: u64, source_id: u64, target_id: u64, label: &str, properties_json: &str, ) -> StorageBackendResult<()>

Source§

fn delete_edge(&self, edge_id: u64) -> StorageBackendResult<()>

Source§

fn load_edges(&self) -> StorageBackendResult<Vec<EdgeRow>>

Source§

fn save_graph_membership( &self, entity_type: &str, entity_id: u64, graph_name: &str, ) -> StorageBackendResult<()>

Source§

fn delete_graph_membership( &self, entity_type: &str, entity_id: u64, graph_name: &str, ) -> StorageBackendResult<()>

Source§

fn delete_graph_membership_for_graph( &self, graph_name: &str, ) -> StorageBackendResult<()>

Source§

fn load_graph_memberships( &self, ) -> StorageBackendResult<Vec<(String, u64, String)>>

Source§

fn purge_orphan_graph_entities(&self) -> StorageBackendResult<()>

Source§

fn replace_named_graph( &self, graph_name: &str, snapshot: &GraphSnapshot, ) -> StorageBackendResult<()>

Source§

fn drop_named_graph_data(&self, graph_name: &str) -> StorageBackendResult<()>

Source§

fn save_analyzer( &self, name: &str, config_json: &str, ) -> StorageBackendResult<()>

Source§

fn drop_analyzer(&self, name: &str) -> StorageBackendResult<()>

Source§

fn load_analyzers(&self) -> StorageBackendResult<Vec<(String, String)>>

Source§

fn save_table_field_analyzer( &self, table_name: &str, field: &str, phase: &str, analyzer_name: &str, ) -> StorageBackendResult<()>

Source§

fn replace_table_field_analyzer( &self, table_name: &str, field: &str, phase: &str, analyzer_name: &str, ) -> StorageBackendResult<()>

Source§

fn drop_table_field_analyzer_field( &self, table_name: &str, field: &str, ) -> StorageBackendResult<()>

Source§

fn drop_table_field_analyzers( &self, table_name: &str, ) -> StorageBackendResult<()>

Source§

fn load_table_field_analyzers( &self, ) -> StorageBackendResult<Vec<(String, String, String, String)>>

Source§

fn save_foreign_server( &self, name: &str, fdw_type: &str, options_json: &str, ) -> StorageBackendResult<()>

Source§

fn drop_foreign_server(&self, name: &str) -> StorageBackendResult<()>

Source§

fn load_foreign_servers( &self, ) -> StorageBackendResult<Vec<(String, String, String)>>

Source§

fn save_foreign_table(&self, row: &ForeignTableRow) -> StorageBackendResult<()>

Source§

fn rename_foreign_table( &self, from: &RelationIdentity, to: &RelationIdentity, ) -> StorageBackendResult<bool>

Atomically move one foreign-table catalog row and its shared relation claim.
Source§

fn update_foreign_table_security( &self, relation: &RelationIdentity, role_owner: &str, acl: Option<&[TableAclEntry]>, column_acls: &BTreeMap<String, Vec<TableAclEntry>>, ) -> StorageBackendResult<bool>

Source§

fn drop_foreign_table( &self, relation: &RelationIdentity, ) -> StorageBackendResult<()>

Source§

fn load_foreign_tables(&self) -> StorageBackendResult<Vec<ForeignTableRow>>

Source§

fn save_catalog_index_row( &self, index: &CatalogIndexRow, ) -> StorageBackendResult<()>

Source§

fn drop_catalog_index( &self, relation: &RelationIdentity, ) -> StorageBackendResult<()>

Source§

fn drop_catalog_indexes_for_table( &self, table_name: &str, ) -> StorageBackendResult<()>

Source§

fn load_catalog_indexes(&self) -> StorageBackendResult<Vec<CatalogIndexRow>>

Source§

fn save_path_index( &self, graph_name: &str, label_sequences_json: &str, ) -> StorageBackendResult<()>

Source§

fn drop_path_index(&self, graph_name: &str) -> StorageBackendResult<()>

Source§

fn load_path_indexes(&self) -> StorageBackendResult<Vec<(String, String)>>

Source§

fn save_column_stats( &self, stats: ColumnStatsInput<'_>, ) -> StorageBackendResult<()>

Source§

fn replace_column_stats( &self, table_name: &str, stats: &[ColumnStatsInput<'_>], ) -> StorageBackendResult<()>

Atomically replace the complete statistics snapshot for one table. Implementations must leave the prior snapshot intact if any row fails.
Source§

fn load_column_stats( &self, table_name: &str, ) -> StorageBackendResult<Vec<ColumnStatsRow>>

Source§

fn delete_column_stats(&self, table_name: &str) -> StorageBackendResult<()>

Source§

fn save_schema(&self, name: &str) -> StorageBackendResult<()>

Source§

fn load_schemas(&self) -> StorageBackendResult<Vec<String>>

Source§

fn next_sequence_value( &self, name: &str, object_id: [u8; 16], ) -> StorageBackendResult<Option<i64>>

Compatibility allocation API for callers that do not retain a session cache. A cached reservation’s unused values are intentionally abandoned, just as when a PostgreSQL session disconnects.
Source§

fn save_catalog_index( &self, relation: &RelationIdentity, index_type: &str, table_name: &str, columns_json: &str, parameters_json: &str, ) -> StorageBackendResult<()>

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.