Skip to main content

Database

Struct Database 

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

Implementations§

Source§

impl Database

Source

pub async fn export_data(&self, exported_at: String) -> Result<AvenExport>

Source

pub async fn validate_import_data(&self, export: &AvenExport) -> Result<()>

Source

pub async fn import_data(&self, export: &AvenExport) -> Result<IntegrityReport>

Source

pub async fn database_integrity_report(&self) -> Result<IntegrityReport>

Source

pub async fn attachment_integrity_checks( &self, blob_dir: &Path, deep: bool, ) -> Result<Vec<IntegrityCheck>>

Source

pub async fn create_backup_archive( &self, blob_dir: &Path, output: &Path, ) -> Result<()>

Source§

impl Database

Source

pub async fn open(path: &Path) -> Result<Self>

Source

pub fn path(&self) -> &Path

Source

pub fn latest_schema_version() -> Option<i64>

Source

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

Source

pub async fn conflict_exists( &self, workspace_id: &WorkspaceId, task_id: &TaskId, field: &str, ) -> Result<bool>

Source§

impl Database

Source

pub async fn label_usage( &self, workspace_id: &WorkspaceId, ) -> Result<Vec<LabelUsage>>

Source

pub async fn list_labels( &self, workspace_id: &WorkspaceId, search: Option<&str>, ) -> Result<Vec<String>>

Source

pub async fn resolve_labels( &self, workspace_id: &WorkspaceId, labels: &[String], ) -> Result<Vec<String>>

Source§

impl Database

Source

pub async fn onboarding_status(&self) -> Result<OnboardingStatus>

Source

pub async fn complete_onboarding(&self) -> Result<()>

Source§

impl Database

Source

pub async fn list_metadata_fields( &self, workspace_id: &WorkspaceId, ) -> Result<Vec<MetadataFieldUsage>>

Source

pub async fn find_metadata_field( &self, workspace_id: &WorkspaceId, key: &str, ) -> Result<Option<MetadataField>>

Source

pub async fn task_metadata( &self, workspace_id: &WorkspaceId, task_id: &TaskId, ) -> Result<Vec<TaskMetadataValue>>

Source

pub async fn rename_metadata_field( &self, workspace: &Workspace, key: &str, new_key: &str, ) -> Result<MetadataField>

Source§

impl Database

Source

pub async fn set_task_status( &self, workspace: &Workspace, task: &Task, status: &str, ) -> Result<Task>

Source

pub async fn set_task_priority( &self, workspace: &Workspace, task: &Task, priority: &str, ) -> Result<Task>

Source

pub async fn cycle_task_priority( &self, workspace: &Workspace, task: &Task, reverse: bool, ) -> Result<Task>

Source

pub async fn set_task_deleted_state( &self, workspace: &Workspace, task: &Task, deleted: bool, ) -> Result<Task>

Source

pub async fn set_task_field( &self, workspace: &Workspace, task_id: &TaskId, field: &str, value: &str, ) -> Result<bool>

Source

pub async fn set_task_project( &self, workspace: &Workspace, task_id: &TaskId, project: &Project, ) -> Result<bool>

Source

pub async fn set_task_fields( &self, workspace: &Workspace, updates: &[(TaskId, String, String)], ) -> Result<Vec<bool>>

Source

pub async fn cycle_task_priorities( &self, workspace: &Workspace, tasks: &[Task], reverse: bool, ) -> Result<Vec<Task>>

Source§

impl Database

Source

pub async fn add_task_attachment( &self, workspace: &Workspace, blob_dir: &Path, policy: LifecyclePolicy, task_id: &TaskId, input: AttachmentAddInput, ) -> Result<AttachmentAddOutcome>

Source

pub async fn add_ordered_task_attachment( &self, workspace: &Workspace, blob_dir: &Path, policy: LifecyclePolicy, task_id: &TaskId, created_at: String, input: TaskAttachmentAddInput, ) -> Result<AttachmentAddOutcome>

Source

pub async fn attachment_by_id( &self, workspace: &Workspace, attachment_id: &str, ) -> Result<AttachmentOutcome>

Source

pub async fn delete_task_attachment( &self, workspace: &Workspace, attachment_id: &str, ) -> Result<AttachmentOutcome>

Source

pub async fn attachment_read_items_by_task( &self, workspace_id: &WorkspaceId, task_id: &TaskId, include_deleted: bool, ) -> Result<Vec<AttachmentReadItem>>

Source

pub async fn prune_attachments( &self, blob_dir: &Path, policy: LifecyclePolicy, apply: bool, ) -> Result<PruneSummary>

Source

pub async fn acquire_attachment_lease( &self, sha256: &str, purpose: &str, ) -> Result<String>

Source

pub async fn acquire_live_attachment_read_lease( &self, workspace: &Workspace, attachment_id: &str, ) -> Result<AttachmentReadLease>

Source

pub async fn release_attachment_lease(&self, lease_id: &str) -> Result<()>

Source

pub async fn attachment_lifecycle_report( &self, blob_dir: &Path, policy: LifecyclePolicy, ) -> Result<LifecycleReport>

Source§

impl Database

Source

pub async fn list_conflicts( &self, workspace: &Workspace, project_key: Option<&str>, field: Option<&str>, ) -> Result<Vec<ConflictListItem>>

Source

pub async fn task_conflicts( &self, workspace: &Workspace, task_id: &TaskId, field: Option<&str>, ) -> Result<Vec<ConflictDetail>>

Source

pub async fn conflict_variant_value( &self, workspace: &Workspace, task_id: &TaskId, field: &str, token: &str, ) -> Result<String>

Source

pub async fn resolve_conflict_with_tui_undo( &self, workspace: &Workspace, task_id: &TaskId, field: &str, value: &str, summary: &str, ) -> Result<ConflictResolutionOutcome>

Source

pub async fn resolve_conflict( &self, workspace: &Workspace, task_id: &TaskId, field: &str, value: &str, ) -> Result<ConflictOutcome>

Source

pub async fn recurrence_series_conflicts( &self, workspace: &Workspace, series_id: &RecurrenceSeriesId, field: Option<&str>, ) -> Result<Vec<ConflictDetail>>

Source

pub async fn recurrence_conflict_variant_value( &self, workspace: &Workspace, series_id: &RecurrenceSeriesId, field: &str, token: &str, ) -> Result<String>

Source

pub async fn resolve_recurrence_conflict( &self, workspace: &Workspace, series_id: &RecurrenceSeriesId, field: &str, value: &str, ) -> Result<String>

Source§

impl Database

Source

pub async fn add_task_dependency( &self, workspace: &Workspace, task_id: &TaskId, depends_on_id: &TaskId, ) -> Result<DependencyOutcome>

Source

pub async fn add_task_dependency_with_undo( &self, workspace: &Workspace, task_id: &TaskId, depends_on_id: &TaskId, undo: UndoContext, ) -> Result<DependencyOutcome>

Source

pub async fn remove_task_dependency( &self, workspace: &Workspace, task_id: &TaskId, depends_on_id: &TaskId, ) -> Result<DependencyOutcome>

Source

pub async fn remove_task_dependency_with_undo( &self, workspace: &Workspace, task_id: &TaskId, depends_on_id: &TaskId, undo: UndoContext, ) -> Result<DependencyOutcome>

Source§

impl Database

Source

pub async fn add_task_to_epic( &self, workspace: &Workspace, child_id: &TaskId, epic_id: &TaskId, ) -> Result<EpicLinkOutcome>

Source

pub async fn add_task_to_epic_with_undo( &self, workspace: &Workspace, child_id: &TaskId, epic_id: &TaskId, undo: UndoContext, ) -> Result<EpicLinkOutcome>

Source

pub async fn remove_task_from_epic( &self, workspace: &Workspace, child_id: &TaskId, epic_id: &TaskId, ) -> Result<EpicLinkOutcome>

Source

pub async fn remove_task_from_epic_with_undo( &self, workspace: &Workspace, child_id: &TaskId, epic_id: &TaskId, undo: UndoContext, ) -> Result<EpicLinkOutcome>

Source§

impl Database

Source

pub async fn create_label( &self, workspace: &Workspace, name: &str, ) -> Result<LabelOutcome>

Source

pub async fn create_label_with_tui_undo( &self, workspace: &Workspace, name: &str, ) -> Result<LabelOutcome>

Source

pub async fn delete_label( &self, workspace: &Workspace, name: &str, ) -> Result<LabelDeleteOutcome>

Source

pub async fn delete_label_with_tui_undo( &self, workspace: &Workspace, name: &str, ) -> Result<LabelDeleteOutcome>

Source

pub async fn rename_label_with_tui_undo( &self, workspace: &Workspace, name: &str, new_name: &str, ) -> Result<LabelRenameOutcome>

Source

pub async fn create_project( &self, workspace: &Workspace, name: &str, ) -> Result<ProjectOutcome>

Source

pub async fn create_project_with_tui_undo( &self, workspace: &Workspace, name: &str, ) -> Result<ProjectOutcome>

Source

pub async fn delete_project( &self, workspace: &Workspace, project: &str, ) -> Result<ProjectDeleteOutcome>

Source

pub async fn rename_project( &self, workspace: &Workspace, project: &str, new_name: &str, prefix: Option<&str>, ) -> Result<ProjectRenameOutcome>

Source

pub async fn rename_project_with_tui_undo( &self, workspace: &Workspace, project: &str, new_name: &str, prefix: Option<&str>, ) -> Result<ProjectRenameOutcome>

Source

pub async fn rename_project_before_commit<T, F>( &self, workspace: &Workspace, project: &str, new_name: &str, prefix: Option<&str>, before_commit: F, ) -> Result<(ProjectRenameOutcome, T)>

Source§

impl Database

Source

pub async fn create_recurrence_series( &self, workspace: &Workspace, params: CreateRecurrenceSeriesParams, ) -> Result<RecurrenceCreateOutcome>

Source

pub async fn update_recurrence_template( &self, workspace: &Workspace, series_id: &RecurrenceSeriesId, params: UpdateRecurrenceTemplateParams, ) -> Result<RecurrenceTemplateUpdateOutcome>

Source

pub async fn reconcile_recurrence_series( &self, workspace: &Workspace, series_id: &RecurrenceSeriesId, at: DateTime<Utc>, ) -> Result<RecurrenceReconcileOutcome>

Source

pub async fn resolve_recurrence_occurrence( &self, workspace: &Workspace, task_id: &TaskId, outcome: RecurrenceOutcome, ) -> Result<RecurrenceResolveOutcome>

Source

pub async fn resolve_recurrence_occurrence_with_undo( &self, workspace: &Workspace, task_id: &TaskId, outcome: RecurrenceOutcome, undo: UndoContext, ) -> Result<RecurrenceResolveOutcome>

Source

pub async fn pause_recurrence_series( &self, workspace: &Workspace, series_id: &RecurrenceSeriesId, ) -> Result<RecurrenceStateOutcome>

Source

pub async fn resume_recurrence_series( &self, workspace: &Workspace, series_id: &RecurrenceSeriesId, at: DateTime<Utc>, ) -> Result<RecurrenceStateOutcome>

Source

pub async fn stop_recurrence_series( &self, workspace: &Workspace, series_id: &RecurrenceSeriesId, skip_current: bool, ) -> Result<RecurrenceStateOutcome>

Source

pub async fn resolve_recurrence_ref( &self, workspace: &Workspace, input: &str, ) -> Result<RecurrenceSeries>

Source

pub async fn recurrence_series_ref( &self, workspace_id: &WorkspaceId, series_id: &RecurrenceSeriesId, ) -> Result<String>

Source§

impl Database

Source

pub async fn create_task( &self, workspace: &Workspace, draft: TaskDraft, ) -> Result<TaskOutcome>

Source

pub async fn create_task_with_undo( &self, workspace: &Workspace, draft: TaskDraft, undo: TaskCreationUndo, ) -> Result<TaskOutcome>

Source

pub async fn create_task_with_options( &self, workspace: &Workspace, draft: TaskDraft, options: TaskCreationOptions, ) -> Result<TaskOutcome>

Source

pub async fn create_task_for_epic( &self, workspace: &Workspace, draft: TaskDraft, epic_id: &TaskId, ) -> Result<TaskOutcome>

Source

pub async fn create_task_for_epic_with_undo( &self, workspace: &Workspace, draft: TaskDraft, epic_id: &TaskId, undo: TaskCreationUndo, ) -> Result<TaskOutcome>

Source

pub async fn create_task_with_attachments( &self, workspace: &Workspace, blob_dir: &Path, lifecycle_policy: LifecyclePolicy, draft: TaskDraft, attachments: Vec<TaskAttachmentAddInput>, ) -> Result<TaskOutcome>

Source

pub async fn create_task_with_attachments_and_undo( &self, workspace: &Workspace, blob_dir: &Path, lifecycle_policy: LifecyclePolicy, draft: TaskDraft, attachments: Vec<TaskAttachmentAddInput>, undo: TaskCreationUndo, ) -> Result<TaskOutcome>

Source

pub async fn create_task_with_attachments_and_options( &self, workspace: &Workspace, blob_dir: &Path, lifecycle_policy: LifecyclePolicy, draft: TaskDraft, attachments: Vec<TaskAttachmentAddInput>, options: TaskCreationOptions, ) -> Result<TaskOutcome>

Source

pub async fn create_task_with_attachments_for_epic( &self, workspace: &Workspace, blob_dir: &Path, lifecycle_policy: LifecyclePolicy, draft: TaskDraft, attachments: Vec<TaskAttachmentAddInput>, epic_id: &TaskId, ) -> Result<TaskOutcome>

Source

pub async fn create_task_with_attachments_for_epic_and_undo( &self, workspace: &Workspace, blob_dir: &Path, lifecycle_policy: LifecyclePolicy, draft: TaskDraft, attachments: Vec<TaskAttachmentAddInput>, options: TaskCreationOptions, ) -> Result<TaskOutcome>

Source

pub async fn update_task( &self, workspace: &Workspace, task_id: &TaskId, update: TaskUpdate, ) -> Result<TaskUpdateOutcome>

Source

pub async fn update_tasks( &self, workspace: &Workspace, updates: Vec<(TaskId, TaskUpdate)>, ) -> Result<Vec<TaskUpdateOutcome>>

Source

pub async fn mutate_tasks( &self, workspace: &Workspace, updates: Vec<(TaskId, TaskUpdate)>, undo: UndoContext, ) -> Result<TaskMutationReport>

Source

pub async fn set_task_deleted( &self, workspace: &Workspace, task_id: &TaskId, deleted: bool, ) -> Result<TaskOutcome>

Source

pub async fn add_note( &self, workspace: &Workspace, task_id: &TaskId, body: String, ) -> Result<NoteOutcome>

Source

pub async fn add_note_with_tui_undo( &self, workspace: &Workspace, task_id: &TaskId, body: String, ) -> Result<NoteOutcome>

Source

pub async fn edit_note( &self, workspace: &Workspace, task_id: &TaskId, note_id: &str, body: String, ) -> Result<NoteEditOutcome>

Source

pub async fn edit_note_with_tui_undo( &self, workspace: &Workspace, task_id: &TaskId, note_id: &str, body: String, ) -> Result<NoteEditOutcome>

Source

pub async fn delete_note( &self, workspace: &Workspace, task_id: &TaskId, note_id: &str, ) -> Result<NoteDeleteOutcome>

Source

pub async fn delete_note_with_tui_undo( &self, workspace: &Workspace, task_id: &TaskId, note_id: &str, ) -> Result<NoteDeleteOutcome>

Source§

impl Database

Source

pub async fn find_project( &self, workspace_id: &WorkspaceId, input: &str, ) -> Result<Option<Project>>

Source

pub async fn find_project_by_id( &self, workspace_id: &WorkspaceId, project_id: &ProjectId, ) -> Result<Option<Project>>

Source

pub async fn resolve_existing_project( &self, workspace_id: &WorkspaceId, project: &str, ) -> Result<Project>

Source

pub async fn list_projects( &self, workspace_id: &WorkspaceId, search: Option<&str>, ) -> Result<Vec<Project>>

Source

pub async fn inferred_project_key_for_add( &self, workspace_id: &WorkspaceId, config_candidate: Option<&str>, cwd: &Path, git_root: Option<&Path>, ) -> Result<Option<String>>

Source

pub async fn inferred_existing_project_key( &self, workspace_id: &WorkspaceId, config_candidate: Option<&str>, cwd: &Path, git_root: Option<&Path>, ) -> Result<Option<String>>

Source

pub async fn remove_project_path( &self, workspace_id: &WorkspaceId, project_id: &ProjectId, path: &Path, ) -> Result<()>

Source

pub async fn resolve_or_create_project( &self, workspace_id: &WorkspaceId, project: &str, ) -> Result<Project>

Source

pub async fn resolve_project_for_stored_value( &self, workspace_id: &WorkspaceId, value: &str, ) -> Result<Project>

Source§

impl Database

Source

pub async fn reconcile_recurrence_reports_at( &self, workspace_id: &WorkspaceId, at: DateTime<Utc>, ) -> Result<RecurrenceReconciliation>

Reconciles recurrence projections before a report reads current state.

The candidate count is bounded. Each changed series writes one atomic projection transaction that can archive one superseded task and materialize one successor.

Source

pub async fn reconcile_recurrence_reports( &self, workspace_id: &WorkspaceId, ) -> Result<RecurrenceReconciliation>

Source

pub async fn list_recurrence_series_view_at( &self, workspace_id: &WorkspaceId, at: DateTime<Utc>, query: RecurrenceSeriesListQuery, ) -> Result<Vec<RecurrenceSeriesListItem>>

Source

pub async fn list_recurrence_series_view( &self, workspace_id: &WorkspaceId, query: RecurrenceSeriesListQuery, ) -> Result<Vec<RecurrenceSeriesListItem>>

Source

pub async fn list_recurrence_series_at( &self, workspace_id: &WorkspaceId, at: DateTime<Utc>, ) -> Result<Vec<RecurrenceSeriesSummary>>

Source

pub async fn recurrence_series_detail_at( &self, workspace_id: &WorkspaceId, series_id: &RecurrenceSeriesId, at: DateTime<Utc>, ) -> Result<RecurrenceSeriesDetail>

Source

pub async fn recurrence_history_at( &self, workspace_id: &WorkspaceId, series_id: &RecurrenceSeriesId, at: DateTime<Utc>, offset: usize, limit: usize, ) -> Result<RecurrenceHistoryPage>

Source

pub async fn list_recurrence_series( &self, workspace_id: &WorkspaceId, ) -> Result<Vec<RecurrenceSeriesSummary>>

Source

pub async fn recurrence_series_detail( &self, workspace_id: &WorkspaceId, series_id: &RecurrenceSeriesId, ) -> Result<RecurrenceSeriesDetail>

Source

pub async fn recurrence_history( &self, workspace_id: &WorkspaceId, series_id: &RecurrenceSeriesId, offset: usize, limit: usize, ) -> Result<RecurrenceHistoryPage>

Source

pub async fn list_project_items( &self, workspace_id: &WorkspaceId, ) -> Result<Vec<ProjectListItem>>

Source

pub async fn list_task_items( &self, workspace_id: &WorkspaceId, filters: TaskFilters, mode: TaskQueryMode, sort: TaskSort, direction: SortDirection, ) -> Result<Vec<TaskListItem>>

Source

pub async fn list_task_summary_items( &self, workspace_id: &WorkspaceId, filters: TaskFilters, mode: TaskQueryMode, sort: TaskSort, direction: SortDirection, limit: Option<usize>, ) -> Result<Vec<TaskListItem>>

Source

pub async fn sidebar_counts_for_scope( &self, workspace_id: &WorkspaceId, project_key: Option<&str>, ) -> Result<SidebarCounts>

Source

pub async fn list_recent_actions( &self, workspace_id: &WorkspaceId, project_scope: Option<&str>, ) -> Result<Vec<RecentActionItem>>

Source

pub async fn search_task_items( &self, workspace_id: &WorkspaceId, query: TaskSearchQuery, ) -> Result<Vec<TaskSearchResult>>

Source

pub async fn search_task_occurrence_items( &self, workspace_id: &WorkspaceId, query: TaskSearchQuery, ) -> Result<Vec<TaskSearchResult>>

Source

pub async fn search_task_preview_set( &self, workspace_id: &WorkspaceId, query: TaskSearchQuery, ) -> Result<TaskSearchPreviewResultSet>

Source

pub async fn task_detail(&self, task: &Task) -> Result<TaskDetail>

Source

pub async fn task_detail_with_display_refs( &self, task: &Task, display_refs: &DisplayRefContext, ) -> Result<TaskDetail>

Source

pub async fn conflict_display_value( &self, workspace_id: &WorkspaceId, field: &str, value: &str, ) -> Result<String>

Source

pub async fn task_dependency_summary( &self, workspace_id: &WorkspaceId, task_id: &TaskId, ) -> Result<TaskDependencySummary>

Source

pub async fn workspace_task_counts( &self, workspace_id: &WorkspaceId, ) -> Result<WorkspaceTaskCounts>

Source

pub async fn unresolved_conflict_count(&self) -> Result<i64>

Source

pub async fn sync_history_stats(&self) -> Result<SyncHistoryStats>

Source

pub async fn database_stats( &self, workspace: &Workspace, ) -> Result<DatabaseStats>

Source§

impl Database

Source

pub async fn display_ref_context( &self, workspace_id: &WorkspaceId, ) -> Result<DisplayRefContext>

Source

pub async fn resolve_task_ref( &self, workspace: &Workspace, input: &str, ) -> Result<Task>

Source§

impl Database

Source

pub async fn prepare_server_blob_uploads( &self, blob_dir: &Path, policy: LifecyclePolicy, blobs: &[BlobUploadContract], ) -> Result<Vec<String>>

Source

pub async fn store_server_blob( &self, blob_dir: &Path, policy: LifecyclePolicy, contract: &BlobUploadContract, bytes: Vec<u8>, ) -> Result<()>

Source

pub async fn read_server_blob( &self, blob_dir: &Path, sha256: &str, ) -> Result<Option<ServerBlobDownload>>

Source

pub async fn maintain_server_blobs( &self, blob_dir: &Path, policy: LifecyclePolicy, ) -> Result<()>

Source§

impl Database

Source

pub async fn sync_persistence_status(&self) -> Result<SyncPersistenceStatus>

Source

pub async fn begin_sync_attempt(&self, attempted_at: String) -> Result<()>

Source

pub async fn record_sync_error(&self, error: String) -> Result<()>

Source

pub async fn prepare_client_sync_page( &self, server: String, push_limit: usize, pull_limit: u32, ) -> Result<ClientSyncPage>

Source

pub async fn apply_client_sync_page(&self, page: ApplySyncPage) -> Result<usize>

Source

pub async fn persist_server_sync_page( &self, page: ServerSyncPage, ) -> Result<ServerSyncResult>

Source

pub async fn persist_server_sync_page_with_blobs( &self, page: ServerSyncPage, blob_dir: &Path, ) -> Result<ServerSyncResult>

Source§

impl Database

Source

pub async fn task_field_value( &self, workspace_id: &WorkspaceId, task_id: &TaskId, field: &str, ) -> Result<String>

Source

pub async fn task_labels( &self, workspace_id: &WorkspaceId, task_id: &TaskId, ) -> Result<Vec<String>>

Source

pub async fn task_undo_snapshot( &self, workspace_id: &WorkspaceId, task_id: &TaskId, ) -> Result<TaskUndoSnapshot>

Source

pub async fn conflict_row_id( &self, workspace_id: &WorkspaceId, task_id: &TaskId, field: &str, ) -> Result<i64>

Source

pub async fn clear_pending_tui_undo_entries(&self) -> Result<()>

Source

pub async fn apply_latest_tui_undo( &self, workspace_id: &WorkspaceId, ) -> Result<Option<UndoOutcome>>

Source§

impl Database

Source

pub async fn list_workspaces(&self) -> Result<Vec<Workspace>>

Source

pub async fn find_workspace( &self, name_or_key: &str, ) -> Result<Option<Workspace>>

Source

pub async fn workspace_for_id( &self, workspace_id: &WorkspaceId, ) -> Result<Workspace>

Source

pub async fn resolve_workspace(&self, name_or_key: &str) -> Result<Workspace>

Source

pub async fn resolve_required_workspace( &self, name_or_key: &str, source: &str, ) -> Result<Workspace>

Source

pub async fn create_workspace(&self, name: &str) -> Result<Workspace>

Source

pub async fn rename_workspace( &self, workspace_ref: &str, new_name: &str, ) -> Result<Workspace>

Trait Implementations§

Source§

impl Clone for Database

Source§

fn clone(&self) -> Database

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> Conv for T

Source§

fn conv<T>(self) -> T
where Self: Into<T>,

Converts self into T using Into<T>. Read more
Source§

impl<T> FmtForward for T

Source§

fn fmt_binary(self) -> FmtBinary<Self>
where Self: Binary,

Causes self to use its Binary implementation when Debug-formatted.
Source§

fn fmt_display(self) -> FmtDisplay<Self>
where Self: Display,

Causes self to use its Display implementation when Debug-formatted.
Source§

fn fmt_lower_exp(self) -> FmtLowerExp<Self>
where Self: LowerExp,

Causes self to use its LowerExp implementation when Debug-formatted.
Source§

fn fmt_lower_hex(self) -> FmtLowerHex<Self>
where Self: LowerHex,

Causes self to use its LowerHex implementation when Debug-formatted.
Source§

fn fmt_octal(self) -> FmtOctal<Self>
where Self: Octal,

Causes self to use its Octal implementation when Debug-formatted.
Source§

fn fmt_pointer(self) -> FmtPointer<Self>
where Self: Pointer,

Causes self to use its Pointer implementation when Debug-formatted.
Source§

fn fmt_upper_exp(self) -> FmtUpperExp<Self>
where Self: UpperExp,

Causes self to use its UpperExp implementation when Debug-formatted.
Source§

fn fmt_upper_hex(self) -> FmtUpperHex<Self>
where Self: UpperHex,

Causes self to use its UpperHex implementation when Debug-formatted.
Source§

fn fmt_list(self) -> FmtList<Self>
where &'a Self: for<'a> IntoIterator,

Formats each item in a sequence. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T> Instrument for T

Source§

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

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

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.

Source§

impl<T> IntoEither for T

Source§

fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ

Converts self into a Left variant of Either<Self, Self> if into_left is true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

Converts self into a Left variant of Either<Self, Self> if into_left(&self) returns true. Converts self into a Right variant of Either<Self, Self> otherwise. Read more
Source§

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

Source§

fn pipe<R>(self, func: impl FnOnce(Self) -> R) -> R
where Self: Sized,

Pipes by value. This is generally the method you want to use. Read more
Source§

fn pipe_ref<'a, R>(&'a self, func: impl FnOnce(&'a Self) -> R) -> R
where R: 'a,

Borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_ref_mut<'a, R>(&'a mut self, func: impl FnOnce(&'a mut Self) -> R) -> R
where R: 'a,

Mutably borrows self and passes that borrow into the pipe function. Read more
Source§

fn pipe_borrow<'a, B, R>(&'a self, func: impl FnOnce(&'a B) -> R) -> R
where Self: Borrow<B>, B: 'a + ?Sized, R: 'a,

Borrows self, then passes self.borrow() into the pipe function. Read more
Source§

fn pipe_borrow_mut<'a, B, R>( &'a mut self, func: impl FnOnce(&'a mut B) -> R, ) -> R
where Self: BorrowMut<B>, B: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.borrow_mut() into the pipe function. Read more
Source§

fn pipe_as_ref<'a, U, R>(&'a self, func: impl FnOnce(&'a U) -> R) -> R
where Self: AsRef<U>, U: 'a + ?Sized, R: 'a,

Borrows self, then passes self.as_ref() into the pipe function.
Source§

fn pipe_as_mut<'a, U, R>(&'a mut self, func: impl FnOnce(&'a mut U) -> R) -> R
where Self: AsMut<U>, U: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.as_mut() into the pipe function.
Source§

fn pipe_deref<'a, T, R>(&'a self, func: impl FnOnce(&'a T) -> R) -> R
where Self: Deref<Target = T>, T: 'a + ?Sized, R: 'a,

Borrows self, then passes self.deref() into the pipe function.
Source§

fn pipe_deref_mut<'a, T, R>( &'a mut self, func: impl FnOnce(&'a mut T) -> R, ) -> R
where Self: DerefMut<Target = T> + Deref, T: 'a + ?Sized, R: 'a,

Mutably borrows self, then passes self.deref_mut() into the pipe function.
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> Tap for T

Source§

fn tap(self, func: impl FnOnce(&Self)) -> Self

Immutable access to a value. Read more
Source§

fn tap_mut(self, func: impl FnOnce(&mut Self)) -> Self

Mutable access to a value. Read more
Source§

fn tap_borrow<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Immutable access to the Borrow<B> of a value. Read more
Source§

fn tap_borrow_mut<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Mutable access to the BorrowMut<B> of a value. Read more
Source§

fn tap_ref<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Immutable access to the AsRef<R> view of a value. Read more
Source§

fn tap_ref_mut<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Mutable access to the AsMut<R> view of a value. Read more
Source§

fn tap_deref<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Immutable access to the Deref::Target of a value. Read more
Source§

fn tap_deref_mut<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Mutable access to the Deref::Target of a value. Read more
Source§

fn tap_dbg(self, func: impl FnOnce(&Self)) -> Self

Calls .tap() only in debug builds, and is erased in release builds.
Source§

fn tap_mut_dbg(self, func: impl FnOnce(&mut Self)) -> Self

Calls .tap_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_dbg<B>(self, func: impl FnOnce(&B)) -> Self
where Self: Borrow<B>, B: ?Sized,

Calls .tap_borrow() only in debug builds, and is erased in release builds.
Source§

fn tap_borrow_mut_dbg<B>(self, func: impl FnOnce(&mut B)) -> Self
where Self: BorrowMut<B>, B: ?Sized,

Calls .tap_borrow_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_dbg<R>(self, func: impl FnOnce(&R)) -> Self
where Self: AsRef<R>, R: ?Sized,

Calls .tap_ref() only in debug builds, and is erased in release builds.
Source§

fn tap_ref_mut_dbg<R>(self, func: impl FnOnce(&mut R)) -> Self
where Self: AsMut<R>, R: ?Sized,

Calls .tap_ref_mut() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_dbg<T>(self, func: impl FnOnce(&T)) -> Self
where Self: Deref<Target = T>, T: ?Sized,

Calls .tap_deref() only in debug builds, and is erased in release builds.
Source§

fn tap_deref_mut_dbg<T>(self, func: impl FnOnce(&mut T)) -> Self
where Self: DerefMut<Target = T> + Deref, T: ?Sized,

Calls .tap_deref_mut() only in debug builds, and is erased in release builds.
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T> TryConv for T

Source§

fn try_conv<T>(self) -> Result<T, Self::Error>
where Self: TryInto<T>,

Attempts to convert self into T using TryInto<T>. Read more
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.
Source§

impl<T> WithSubscriber for T

Source§

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

fn with_current_subscriber(self) -> WithDispatch<Self> ⓘ

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