Skip to main content

PgMetadataConnection

Struct PgMetadataConnection 

Source
pub struct PgMetadataConnection { /* private fields */ }
Expand description

Direct PostgreSQL metadata connection.

Implementations§

Source§

impl PgMetadataConnection

Source

pub fn observe_error(&self, error: &PgMetaError)

Retains only the first typed failure for the operation’s bounded summary. Mapping an adapter error to a public workflow error must retain this evidence.

Source

pub fn connection_description(&self) -> &str

Returns the connection description safe for logs and diagnostics.

Source

pub fn client(&mut self) -> &mut Client

Returns the underlying synchronous PostgreSQL client.

Source

pub fn health_check(&mut self) -> Result<PgHealth, PgMetaError>

Performs a lightweight database and schema-bootstrap health check.

§Errors

Returns an error if either PostgreSQL query fails.

Source

pub fn bootstrap_schema(&mut self) -> Result<SchemaBootstrapReport, PgMetaError>

Creates or verifies the metadata schema inside one transaction.

§Errors

Returns an error if the transaction cannot be opened or committed, the migration table cannot be updated, or the bootstrap SQL fails.

Source

pub fn with_metadata_transaction<T, F>( &mut self, f: F, ) -> Result<T, PgMetaError>
where F: FnOnce(&mut Transaction<'_>) -> Result<T, PgMetaError>,

Runs caller-supplied work inside a PostgreSQL transaction.

§Errors

Returns an error if the transaction cannot be opened or committed, or if the callback returns an error.

Source§

impl PgMetadataConnection

Source

pub fn missing_metadata_tables( &mut self, ) -> Result<Vec<&'static str>, PgMetaError>

Source

pub fn list_study_types( &mut self, ) -> Result<Vec<PgStudyTypeReadModel>, PgMetaError>

Source

pub fn list_studies(&mut self) -> Result<Vec<PgStudyReadModel>, PgMetaError>

Source

pub fn list_studies_for_domain( &mut self, domain_id: DomainId, ) -> Result<Vec<PgStudyReadModel>, PgMetaError>

Lists Studies explicitly linked to domain_id through study_domains. Dataset and Variable relationships are intentionally absent from this authority query.

Source

pub fn get_study( &mut self, study_id: StudyId, ) -> Result<Option<PgStudyReadModel>, PgMetaError>

Source

pub fn get_study_by_name( &mut self, name: &str, ) -> Result<Option<PgStudyReadModel>, PgMetaError>

Source

pub fn list_domains(&mut self) -> Result<Vec<PgDomainReadModel>, PgMetaError>

Source

pub fn list_domains_by_name( &mut self, name: &str, ) -> Result<Vec<PgDomainReadModel>, PgMetaError>

Source

pub fn get_domain( &mut self, domain_id: DomainId, ) -> Result<Option<PgDomainReadModel>, PgMetaError>

Source

pub fn get_domain_by_name( &mut self, name: &str, ) -> Result<Option<PgDomainReadModel>, PgMetaError>

Source

pub fn list_duo_codes(&mut self) -> Result<Vec<PgDuoCodeReadModel>, PgMetaError>

Source

pub fn list_study_domains( &mut self, study_id: StudyId, ) -> Result<Vec<PgDomainReadModel>, PgMetaError>

Source

pub fn list_study_access( &mut self, study_id: StudyId, ) -> Result<Vec<PgStudyAccessReadModel>, PgMetaError>

Source

pub fn list_study_custodians( &mut self, study_id: StudyId, ) -> Result<Vec<PgStudyCustodianReadModel>, PgMetaError>

Source

pub fn list_study_duo_restrictions( &mut self, study_id: StudyId, ) -> Result<Vec<PgDuoRestrictionReadModel>, PgMetaError>

Source

pub fn list_assets_for_study( &mut self, study_id: StudyId, ) -> Result<Vec<PgAssetReadModel>, PgMetaError>

Source

pub fn get_asset( &mut self, asset_id: AssetId, ) -> Result<Option<PgAssetReadModel>, PgMetaError>

Source

pub fn get_asset_by_name( &mut self, study_id: StudyId, name: &str, ) -> Result<Option<PgAssetReadModel>, PgMetaError>

Source

pub fn list_asset_versions( &mut self, asset_id: AssetId, ) -> Result<Vec<PgAssetVersionReadModel>, PgMetaError>

Source

pub fn get_asset_version( &mut self, version_id: VersionId, ) -> Result<Option<PgAssetVersionReadModel>, PgMetaError>

Source

pub fn list_asset_version_duo_restrictions( &mut self, version_id: VersionId, ) -> Result<Vec<PgAssetVersionDuoRestrictionReadModel>, PgMetaError>

Source

pub fn list_datasets_for_asset( &mut self, asset_id: AssetId, ) -> Result<Vec<PgDatasetReadModel>, PgMetaError>

Source

pub fn get_dataset( &mut self, dataset_id: VersionId, ) -> Result<Option<PgDatasetReadModel>, PgMetaError>

Source

pub fn get_dataset_version_withdrawn_at( &mut self, dataset_id: VersionId, ) -> Result<Option<DateTime<Utc>>, PgMetaError>

Returns the authoritative withdrawal timestamp for one Dataset version.

Source

pub fn list_datafiles_for_asset( &mut self, asset_id: AssetId, ) -> Result<Vec<PgDataFileReadModel>, PgMetaError>

Source

pub fn get_datafile( &mut self, datafile_id: VersionId, ) -> Result<Option<PgDataFileReadModel>, PgMetaError>

Source

pub fn list_value_types( &mut self, ) -> Result<Vec<PgValueTypeReadModel>, PgMetaError>

Source

pub fn list_vocabularies_for_domain( &mut self, domain_id: DomainId, ) -> Result<Vec<PgVocabularyReadModel>, PgMetaError>

Source

pub fn get_vocabulary( &mut self, vocabulary_id: VocabularyId, ) -> Result<Option<PgVocabularyReadModel>, PgMetaError>

Source

pub fn list_vocabulary_items( &mut self, vocabulary_id: VocabularyId, ) -> Result<Vec<PgVocabularyItemReadModel>, PgMetaError>

Source

pub fn get_vocabulary_item( &mut self, vocabulary_item_id: VocabularyItemId, ) -> Result<Option<PgVocabularyItemReadModel>, PgMetaError>

Source

pub fn list_vocabulary_mappings( &mut self, ) -> Result<Vec<PgVocabularyMappingReadModel>, PgMetaError>

Source

pub fn list_vocabulary_mappings_for_vocabulary( &mut self, vocabulary_id: VocabularyId, ) -> Result<Vec<PgVocabularyMappingWithItemsReadModel>, PgMetaError>

Source

pub fn list_variables_for_domain( &mut self, domain_id: DomainId, ) -> Result<Vec<PgVariableReadModel>, PgMetaError>

Source

pub fn get_variable( &mut self, variable_id: VariableId, ) -> Result<Option<PgVariableReadModel>, PgMetaError>

Source

pub fn list_variable_mappings_provisional( &mut self, ) -> Result<Vec<PgVariableMappingReadModel>, PgMetaError>

Provisional read path for a future public.variable_mapping table. Callers should first verify that the target schema actually contains this table.

Source

pub fn list_dataset_variables( &mut self, dataset_id: VersionId, ) -> Result<Vec<PgDatasetVariableReadModel>, PgMetaError>

Source

pub fn list_dataset_variables_for_variable( &mut self, variable_id: VariableId, ) -> Result<Vec<PgDatasetVariableReadModel>, PgMetaError>

Source

pub fn list_entities_for_domain( &mut self, domain_id: DomainId, ) -> Result<Vec<PgEntityReadModel>, PgMetaError>

Source

pub fn list_entity_relations_for_domain( &mut self, domain_id: DomainId, ) -> Result<Vec<PgEntityRelationReadModel>, PgMetaError>

Source

pub fn list_entity_instances_for_entity( &mut self, entity_id: EntityId, ) -> Result<Vec<PgEntityInstanceReadModel>, PgMetaError>

Source

pub fn get_entity_instance( &mut self, instance_id: i64, ) -> Result<Option<PgEntityInstanceReadModel>, PgMetaError>

Source

pub fn get_entity_instance_by_uuid( &mut self, uuid: Uuid, ) -> Result<Option<PgEntityInstanceReadModel>, PgMetaError>

Source

pub fn get_study_entity_instance( &mut self, study_id: StudyId, entity_id: EntityId, external_id: &str, ) -> Result<Option<PgStudyEntityInstanceReadModel>, PgMetaError>

Source

pub fn list_study_entity_instances( &mut self, study_id: StudyId, ) -> Result<Vec<PgStudyEntityInstanceReadModel>, PgMetaError>

Source

pub fn list_relation_instances_for_relation( &mut self, entity_relation_id: EntityRelationId, ) -> Result<Vec<PgRelationInstanceReadModel>, PgMetaError>

Source

pub fn get_relation_instance( &mut self, relation_instance_id: i64, ) -> Result<Option<PgRelationInstanceReadModel>, PgMetaError>

Source

pub fn get_relation_instance_by_uuid( &mut self, uuid: Uuid, ) -> Result<Option<PgRelationInstanceReadModel>, PgMetaError>

Source

pub fn get_study_relation_instance( &mut self, study_id: StudyId, entity_relation_id: EntityRelationId, external_id: &str, ) -> Result<Option<PgStudyRelationInstanceReadModel>, PgMetaError>

Source

pub fn list_study_relation_instances( &mut self, study_id: StudyId, ) -> Result<Vec<PgStudyRelationInstanceReadModel>, PgMetaError>

Source

pub fn list_asset_version_entities( &mut self, version_id: VersionId, ) -> Result<Vec<PgAssetVersionEntityReadModel>, PgMetaError>

Source

pub fn list_asset_version_entities_for_instance( &mut self, entity_instance_id: i64, ) -> Result<Vec<PgAssetVersionEntityReadModel>, PgMetaError>

Source

pub fn list_dataset_version_entities( &mut self, version_id: VersionId, ) -> Result<Vec<PgDatasetVersionEntityReadModel>, PgMetaError>

Source

pub fn list_dataset_version_entities_for_instance( &mut self, entity_instance_id: i64, ) -> Result<Vec<PgDatasetVersionEntityReadModel>, PgMetaError>

Source

pub fn list_asset_version_relation_instances( &mut self, version_id: VersionId, ) -> Result<Vec<PgAssetVersionRelationInstanceReadModel>, PgMetaError>

Source

pub fn list_asset_version_relation_instances_for_instance( &mut self, relation_instance_id: i64, ) -> Result<Vec<PgAssetVersionRelationInstanceReadModel>, PgMetaError>

Source

pub fn list_dataset_version_relation_instances( &mut self, version_id: VersionId, ) -> Result<Vec<PgDatasetVersionRelationInstanceReadModel>, PgMetaError>

Source

pub fn list_dataset_version_relation_instances_for_instance( &mut self, relation_instance_id: i64, ) -> Result<Vec<PgDatasetVersionRelationInstanceReadModel>, PgMetaError>

Source

pub fn list_transformations( &mut self, ) -> Result<Vec<PgTransformationReadModel>, PgMetaError>

Source

pub fn get_transformation( &mut self, transformation_id: TransformationId, ) -> Result<Option<PgTransformationReadModel>, PgMetaError>

Source

pub fn list_transformation_inputs( &mut self, transformation_id: TransformationId, ) -> Result<Vec<PgTransformationInputReadModel>, PgMetaError>

Source

pub fn list_transformation_inputs_for_version( &mut self, version_id: VersionId, ) -> Result<Vec<PgTransformationInputReadModel>, PgMetaError>

Source

pub fn list_transformation_outputs( &mut self, transformation_id: TransformationId, ) -> Result<Vec<PgTransformationOutputReadModel>, PgMetaError>

Source

pub fn list_transformation_outputs_for_version( &mut self, version_id: VersionId, ) -> Result<Vec<PgTransformationOutputReadModel>, PgMetaError>

Source

pub fn list_transformations_producing_version( &mut self, version_id: VersionId, ) -> Result<Vec<PgTransformationReadModel>, PgMetaError>

Source

pub fn list_tags_for_target( &mut self, target: PgTagTarget, ) -> Result<Vec<String>, PgMetaError>

Source

pub fn list_tag_records_for_target( &mut self, target: PgTagTarget, ) -> Result<Vec<PgTagReadModel>, PgMetaError>

Source

pub fn list_tags(&mut self) -> Result<Vec<PgTagReadModel>, PgMetaError>

Source§

impl PgMetadataConnection

Source

pub fn create_study( &mut self, input: PgCreateStudy, ) -> Result<StudyId, PgMetaError>

Source

pub fn create_domain( &mut self, input: PgCreateDomain, ) -> Result<DomainId, PgMetaError>

Source

pub fn grant_study_access( &mut self, study_id: StudyId, user_id: &str, ) -> Result<(), PgMetaError>

Source

pub fn add_study_delegate_custodian( &mut self, study_id: StudyId, user_id: &str, ) -> Result<(), PgMetaError>

Source

pub fn transfer_study_primary_custodianship( &mut self, study_id: StudyId, user_id: &str, ) -> Result<(), PgMetaError>

Source

pub fn remove_study_delegate_custodian( &mut self, study_id: StudyId, user_id: &str, ) -> Result<(), PgMetaError>

Source

pub fn revoke_study_access( &mut self, study_id: StudyId, user_id: &str, ) -> Result<(), PgMetaError>

Source

pub fn grant_study_access_with_metadata( &mut self, study_id: StudyId, user_id: &str, date_granted: Option<DateTime<Utc>>, granted_by: Option<&str>, ) -> Result<(), PgMetaError>

Source

pub fn add_study_custodian( &mut self, study_id: StudyId, user_id: &str, is_primary: bool, ) -> Result<(), PgMetaError>

Source

pub fn add_study_custodian_with_metadata( &mut self, study_id: StudyId, user_id: &str, is_primary: bool, date_granted: Option<DateTime<Utc>>, granted_by: Option<&str>, ) -> Result<(), PgMetaError>

Source

pub fn create_vocabulary( &mut self, input: PgCreateVocabulary, ) -> Result<VocabularyId, PgMetaError>

Source

pub fn create_vocabulary_item( &mut self, input: PgCreateVocabularyItem, ) -> Result<VocabularyItemId, PgMetaError>

Source

pub fn create_vocabulary_mapping( &mut self, input: PgCreateVocabularyMapping, ) -> Result<i64, PgMetaError>

Source

pub fn create_variable( &mut self, input: PgCreateVariable, ) -> Result<VariableId, PgMetaError>

Source

pub fn update_variable( &mut self, input: PgCreateVariable, ) -> Result<(), PgMetaError>

Source

pub fn update_vocabulary( &mut self, input: PgCreateVocabulary, ) -> Result<(), PgMetaError>

Source

pub fn update_vocabulary_item( &mut self, input: PgCreateVocabularyItem, ) -> Result<(), PgMetaError>

Source

pub fn create_transformation( &mut self, input: PgCreateTransformation, ) -> Result<TransformationId, PgMetaError>

Source

pub fn delete_transformation( &mut self, transformation_id: TransformationId, ) -> Result<bool, PgMetaError>

Source

pub fn create_asset( &mut self, input: PgCreateAsset, ) -> Result<AssetId, PgMetaError>

Source

pub fn create_asset_version( &mut self, input: PgCreateAssetVersion, ) -> Result<VersionId, PgMetaError>

Source

pub fn create_dataset( &mut self, dataset_id: VersionId, ) -> Result<(), PgMetaError>

Source

pub fn create_datafile( &mut self, input: PgCreateDataFile, ) -> Result<(), PgMetaError>

Source

pub fn create_dataset_version( &mut self, asset: PgCreateAsset, version: PgCreateAssetVersion, ) -> Result<VersionId, PgMetaError>

Source

pub fn create_datafile_version( &mut self, asset: PgCreateAsset, version: PgCreateAssetVersion, datafile: PgCreateDataFile, ) -> Result<VersionId, PgMetaError>

Source

pub fn create_duo_code( &mut self, input: PgCreateDuoCode, ) -> Result<(), PgMetaError>

Source

pub fn add_study_duo_restriction( &mut self, study_id: StudyId, duo_id: &str, qualifiers: PgDuoQualifiers, ) -> Result<i64, PgMetaError>

Source

pub fn create_study_duo_restriction( &mut self, input: PgCreateStudyDuoRestriction, ) -> Result<i64, PgMetaError>

Source

pub fn add_asset_version_duo_restriction( &mut self, version_id: VersionId, duo_id: &str, qualifiers: PgDuoQualifiers, ) -> Result<i64, PgMetaError>

Source

pub fn create_asset_version_duo_restriction( &mut self, input: PgCreateAssetVersionDuoRestriction, ) -> Result<i64, PgMetaError>

Source

pub fn create_entity( &mut self, input: PgCreateEntity, ) -> Result<EntityId, PgMetaError>

Source

pub fn create_entity_relation( &mut self, input: PgCreateEntityRelation, ) -> Result<EntityRelationId, PgMetaError>

Source

pub fn create_entity_instance_in_study( &mut self, input: PgCreateEntityInstanceInStudy, ) -> Result<i64, PgMetaError>

Source

pub fn create_relation_instance_in_study( &mut self, input: PgCreateRelationInstanceInStudy, ) -> Result<i64, PgMetaError>

Source

pub fn save_entity_instance( &mut self, input: PgWriteEntityInstance, ) -> Result<i64, PgMetaError>

Source

pub fn save_study_entity_instance( &mut self, input: PgWriteStudyEntityInstance, ) -> Result<(), PgMetaError>

Source

pub fn save_relation_instance( &mut self, input: PgWriteRelationInstance, ) -> Result<i64, PgMetaError>

Source

pub fn save_study_relation_instance( &mut self, input: PgWriteStudyRelationInstance, ) -> Result<(), PgMetaError>

Source

pub fn add_dataset_version_entity( &mut self, version_id: VersionId, entity_instance_id: i64, entity_variable_id: VariableId, transformation_id: TransformationId, ) -> Result<(), PgMetaError>

Source

pub fn add_dataset_version_relation( &mut self, version_id: VersionId, relation_instance_id: i64, subject_variable_id: VariableId, object_variable_id: VariableId, relation_variable_id: Option<VariableId>, transformation_id: TransformationId, ) -> Result<(), PgMetaError>

Source

pub fn upsert_tag(&mut self, name: &str) -> Result<i64, PgMetaError>

Source

pub fn attach_tag( &mut self, target: PgWriteTagTarget, tag_id: i64, ) -> Result<(), PgMetaError>

Source

pub fn detach_tag( &mut self, target: PgWriteTagTarget, tag_id: i64, ) -> Result<(), PgMetaError>

Source

pub fn delete_tag_if_unused(&mut self, tag_id: i64) -> Result<bool, PgMetaError>

Trait Implementations§

Source§

impl Debug for PgMetadataConnection

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl MetadataExecutor for PgMetadataConnection

Source§

type Row = Row

Row representation returned by the concrete executor.
Source§

fn query_one( &mut self, operation: &'static str, statement: &str, params: MetadataParameters<'_>, ) -> Result<Self::Row, PgMetaError>

Runs a query expected to return exactly one row. Read more
Source§

fn query_optional( &mut self, operation: &'static str, statement: &str, params: MetadataParameters<'_>, ) -> Result<Option<Self::Row>, PgMetaError>

Runs a query expected to return zero or one row. Read more
Source§

fn query_many( &mut self, operation: &'static str, statement: &str, params: MetadataParameters<'_>, ) -> Result<Vec<Self::Row>, PgMetaError>

Runs a query that can return many rows. Read more
Source§

fn execute_command( &mut self, operation: &'static str, statement: &str, params: MetadataParameters<'_>, ) -> Result<u64, PgMetaError>

Executes a metadata write command. Read more
Source§

fn with_transaction<T>( &mut self, operation: &'static str, f: impl FnOnce(&mut dyn MetadataTransaction<Row = Self::Row>) -> Result<T, PgMetaError>, ) -> Result<T, PgMetaError>

Runs caller-supplied work inside a metadata transaction. Read more
Source§

impl RequesterStudyAccessRequestPort for PgMetadataConnection

Source§

fn list_requester_study_access_requests( &mut self, scope: &ApplicationRequesterStudyAccessRequests, ) -> Result<Vec<ApplicationRequesterStudyAccessRequest>, RequesterStudyAccessRequestPortError>

Source§

fn get_requester_study_access_request( &mut self, scope: &ApplicationRequesterStudyAccessRequests, request_id: Uuid, ) -> Result<Option<ApplicationRequesterStudyAccessRequest>, RequesterStudyAccessRequestPortError>

Source§

fn withdraw_requester_study_access_request( &mut self, scope: &ApplicationRequesterStudyAccessRequests, request_id: Uuid, ) -> Result<RequesterStudyAccessRequestWithdrawalOutcome, RequesterStudyAccessRequestPortError>

Source§

impl StudyAccessRequestMetadataExecutor for PgMetadataConnection

Source§

fn submit_study_access_request( &mut self, submission: &AccessRequestSubmission, ) -> Result<AccessRequestSubmissionOutcome, PgMetaError>

Submits a pending access request after checking the selected Study and an existing pending request for the same requester.
Source§

fn list_requester_study_access_requests( &mut self, scope: &RequesterStudyAccessRequestScope, ) -> Result<Vec<RequesterStudyAccessRequest>, PgMetaError>

Lists access requests owned by a requester in the selected datastore.
Source§

fn get_requester_study_access_request( &mut self, scope: &RequesterStudyAccessRequestScope, request_id: AccessRequestId, ) -> Result<Option<RequesterStudyAccessRequest>, PgMetaError>

Finds an access request owned by a requester in the selected datastore.
Source§

fn withdraw_requester_study_access_request( &mut self, scope: &RequesterStudyAccessRequestScope, request_id: AccessRequestId, ) -> Result<AccessRequestWithdrawalOutcome, PgMetaError>

Atomically withdraws a pending access request owned by a requester in the selected datastore.
Source§

fn list_custodian_study_access_requests( &mut self, datastore_id: AccessRequestDatastoreId, status: CustodianStudyAccessRequestStatusFilter, ) -> Result<Vec<CustodianStudyAccessRequest>, PgMetaError>

Lists access requests in one supported status visible to the current custodian actor.
Source§

fn reject_custodian_study_access_request( &mut self, rejection: &CustodianStudyAccessRequestRejection, ) -> Result<AccessRequestCustodianDecisionOutcome, PgMetaError>

Rejects a pending request when the current database actor custodians its Study.
Source§

fn inspect_custodian_study_access_request( &mut self, scope: &CustodianStudyAccessRequestScope, ) -> Result<AccessRequestCustodianInspection, PgMetaError>

Inspects a request before a caller provisions workflow entry for its requester and attempts a governed approval.
Source§

fn approve_custodian_study_access_request( &mut self, approval: &CustodianStudyAccessRequestApproval, ) -> Result<AccessRequestCustodianApprovalOutcome, PgMetaError>

Grants the preflighted requester access to the request’s Study and records an audited approval in one governed database statement.
Source§

impl StudyAccessRequestSubmissionPort for PgMetadataConnection

Source§

fn submit_study_access_request( &mut self, submission: &ApplicationAccessRequestSubmission, ) -> Result<ApplicationAccessRequestSubmissionOutcome, StudyAccessRequestSubmissionPortError>

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.

§

impl<T> Instrument for T

§

fn instrument(self, span: Span) -> Instrumented<Self>

Instruments this type with the provided [Span], returning an Instrumented wrapper. Read more
§

fn in_current_span(self) -> Instrumented<Self>

Instruments this type with the current Span, returning an Instrumented wrapper. Read more
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.

§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] only if self and other return Action::Follow. Read more
§

fn or<P, B, E>(self, other: P) -> Or<T, P>
where T: Policy<B, E>, P: Policy<B, E>,

Create a new Policy that returns [Action::Follow] if either self or other returns Action::Follow. Read more
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 = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.
§

impl<V, T> VZip<V> for T
where V: MultiLane<T>,

§

fn vzip(self) -> V

§

impl<T> WithSubscriber for T

§

fn with_subscriber<S>(self, subscriber: S) -> WithDispatch<Self>
where S: Into<Dispatch>,

Attaches the provided Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

fn with_current_subscriber(self) -> WithDispatch<Self>

Attaches the current default Subscriber to this type, returning a [WithDispatch] wrapper. Read more
§

impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

§

impl<T> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,