Skip to main content

RunManager

Struct RunManager 

Source
pub struct RunManager {
    pub persistence: Option<Arc<dyn PersistenceLayer>>,
    /* private fields */
}

Fields§

§persistence: Option<Arc<dyn PersistenceLayer>>

Implementations§

Source§

impl RunManager

Source

pub async fn new( llm_config: LlmConfig, global_mcp: Arc<McpRegistry>, sessions: SessionStore, skills: Arc<RwLock<SkillRegistry>>, vector_matcher: Arc<VectorMatcher>, persistence: Option<Arc<dyn PersistenceLayer>>, ) -> Self

Source

pub async fn with_classifier_config( llm_config: LlmConfig, global_mcp: Arc<McpRegistry>, sessions: SessionStore, skills: Arc<RwLock<SkillRegistry>>, vector_matcher: Arc<VectorMatcher>, persistence: Option<Arc<dyn PersistenceLayer>>, classifier_config: ClassifierConfig, native_skills: Arc<NativeSkillRegistry>, ) -> Self

Creates a new RunManager with a custom classifier configuration.

Source

pub fn with_agent_graph(self, graph: AgentGraph) -> Self

Attach an agent graph for graph-driven execution.

When set, orchestrator-agent runs execute the graph instead of the simple tool loop. Other agents retain their existing execution path.

Source

pub fn with_message_context_strategy(self, strategy: ContextStrategy) -> Self

Set the message-count based context strategy from global config.

Source

pub fn with_harness_config(self, config: HarnessConfig) -> Self

Set the skill service for coordinated skill management.

Source

pub fn with_world_state_config( self, instructions: ProjectInstructionsConfig, world_state: WorldStateConfig, ) -> Self

Configure host-owned workspace trust and world-state precision.

Source

pub fn with_world_state_clock(self, clock: Arc<dyn Clock>) -> Self

Substitute the host clock without changing assembly or request behavior.

Source

pub fn with_skill_service(self, service: Arc<SkillService>) -> Self

Source

pub fn with_settings_manager( self, settings_manager: Arc<SettingsManager>, ) -> Self

Override the settings manager used to read the Global policy scope.

RunManager::with_classifier_config builds a settings manager from the supplied persistence by default. Embedded hosts that build and seed a single shared SettingsManager (so runtime resolution and the admin surface observe the same cache) pass it here to replace the auto-built instance.

Source

pub fn with_skill_evolution_config(self, cfg: SkillEvolutionConfig) -> Self

Configure the Hermes skill evolution post-run hook.

Source

pub fn with_provider_registry(self, registry: Arc<ProviderRegistry>) -> Self

Set the provider registry for per-agent LLM provider resolution.

Source

pub fn with_llm_driver(self, driver: Arc<dyn LlmDriver>) -> Self

Set a host-supplied primary LLM driver for embedded deployments.

The default service/runtime path still constructs LiterLlmDriver from LlmConfig. This override is intentionally explicit so mobile hosts can register a local provider via ExternalLlmDriver without changing UAR’s default cloud/provider behavior.

Source

pub fn with_destination_preparations( self, preparations: Arc<DestinationRequestPreparations>, ) -> Self

Install exact model/template/settings contracts resolved by the trusted host. The manager supplies unreduced canonical history to this registry for ordinary, graph and checkpoint-resume execution.

Source

pub fn with_failover_config(self, config: FailoverConfig) -> Self

Set the runtime model failover configuration (CH-03). When enabled, each run’s Orchestrator receives every configured healthy fallback in declared order plus the shared provider-health monitor.

Source

pub fn with_resilience_policy(self, policy: ResiliencePolicy) -> Self

Configure bounded provider retry and stream-start behavior for runs.

Source

pub async fn with_global_cost_budget( self, budget: Option<&LlmBudgetConfig>, ) -> Self

Configure the global spend ceiling (CH-06) from LlmConfig.budget. A no-op when budget is None (global scope is left unlimited — CostBudgetTracker’s default BudgetLimit is f64::INFINITY).

Source

pub fn with_provider_service(self, service: Arc<ProviderService>) -> Self

Attach the multi-tenant credential service. When set, start_run resolves a per-user/session/agent provider key and overrides the run’s api_key. When unset, the env/config key is used (single-tenant).

Source

pub fn with_governance_engine(self, engine: Arc<GovernanceEngine>) -> Self

Attach the Cedar governance engine consulted at the tool-approval gate.

Source

pub fn with_governance_gate(self, gate: GovernanceGateHandle) -> Self

Attach the coherent boot-effective governance master gate.

Source

pub fn with_native_skills(self, registry: Arc<NativeSkillRegistry>) -> Self

Set a shared native skill registry for in-process tool execution.

Source

pub fn with_sandbox_runner(self, runner: Arc<dyn SandboxRunner>) -> Self

Bind an isolation backend resolved by the trusted embedding/server host. Required tools still check the backend’s isolation contract at execution.

Source

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

Join sandbox operations, including scopes whose run future unwound.

§Errors

Retains and reports unconfirmed backend outcomes instead of replaying them.

Source

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

Cancel and join directly launched terminal processes retained by runs.

§Errors

Reports unconfirmed process cleanup without forgetting its owned handle.

Source

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

Cancel and join graph root workers before closing shared transports.

§Errors

Retains failed workers and unresolved persistence/cleanup receipts.

Source

pub async fn sandbox_operations(&self) -> Vec<SandboxOperationSnapshot>

Content-free host diagnostics for retained sandbox operations.

Source

pub fn with_a2ui_backbone(self, backbone: Arc<InMemoryReplayBackbone>) -> Self

Source

pub async fn resolve_approval(&self, run_id: &str, approved: bool) -> bool

Resolve a pending tool-call approval for the given run. Returns true if an approval was pending and the decision was delivered, false if no pending approval was found for that run_id.

Source

pub async fn resolve_approval_request( &self, run_id: &str, approval_id: Option<&str>, approved: bool, ) -> bool

Resolve an exact approval request after authenticating the root owner. Child requests require an ID; run-only decisions serve legacy roots.

Source

pub async fn cancel_run(&self, run_id: &str) -> bool

Cancel an in-flight run.

Cancels the run’s cancellation token (which aborts the in-flight LLM stream and tool execution at the next await point) and resolves any pending tool approval as aborted so a run parked on the approval gate unblocks promptly. Returns true if a live run was found and cancelled, false for an unknown or already-terminal run (idempotent).

Source

pub async fn cancel_run_for_user(&self, owner_id: &str, run_id: &str) -> bool

Cancel an in-flight run only when it belongs to the authenticated owner.

Source

pub async fn cancel_run_for_context( &self, user: &UserContext, run_id: &str, ) -> bool

Cancel only when the complete middleware-verified identity owns the run.

Source

pub async fn cancel_session_run(&self, session_id: &str) -> bool

Cancel the current in-flight run associated with a conversation session.

Service clients receive a stable session identifier before the first streamed event reveals UAR’s internal run id. Resolving the mapping in the runtime keeps cancellation reliable without asking clients to parse transport-specific event payloads.

Source

pub async fn cancel_session_run_for_user( &self, owner_id: &str, session_id: &str, ) -> bool

Cancel the current run for an owner-scoped conversation session.

Source

pub async fn cancel_session_run_for_context( &self, user: &UserContext, session_id: &str, ) -> bool

Cancel a session’s current run only for the complete verified identity.

Source

pub fn root_cancellation_token(&self) -> CancellationToken

A clone of the root cancellation token.

Cancelling it aborts ALL in-flight runs at once; used to wire run cancellation into the server’s graceful-shutdown path.

Source

pub async fn effective_config(&self, conversation_id: &str) -> EffectiveConfig

Compute the effective configuration for a conversation, mirroring the service path’s GET /conversations/{id}/effective-config: it resolves the agent named by the stored conversation policy (or the default agent), resolves the effective run policy for that agent + conversation (Global → Agent → Conversation → Turn), and backfills the model route from the registry default so the reported model is the one that will execute.

Returns the resolved agent, the stored requested policy (if any), and the effective policy — the pieces an embedded admin surface needs without a service.

Source

pub async fn start_run( &self, artifact: AgentArtifact, input: String, session_id: Option<String>, user_id: Option<String>, memory_hits: Vec<MemoryItem>, ) -> String

Source

pub async fn start_run_with_skill_attachments( &self, artifact: AgentArtifact, input: String, session_id: Option<String>, user_id: Option<String>, memory_hits: Vec<MemoryItem>, skill_attachments: Vec<String>, ) -> String

Start a run with explicit skill attachments admitted before matching.

Source

pub async fn start_run_with_history( &self, artifact: AgentArtifact, input: String, session_id: Option<String>, user_id: Option<String>, memory_hits: Vec<MemoryItem>, seed_history: Vec<SeedMessage>, ) -> String

Self::start_run plus a seed_history of prior turns used to repopulate an empty (cold-started) session. See Self::start_run_with_policy_and_history.

Source

pub async fn continue_with_interaction( &self, run_id: &str, interaction: Value, user: &UserContext, ) -> Result<String, String>

Continue an existing run after a user responds to an interactive A2UI surface. A continuation is a real agent run in the same conversation, not a synthetic event injected into a completed stream.

Source

pub async fn prepare_interaction_request( &self, run_id: &str, interaction: Value, user: &UserContext, inline_artifact: Option<AgentArtifact>, ) -> Result<RunExecutionRequest, String>

Assemble a continuation request without retaining or resolving any host secret. The API adapter reattaches and compares request-scoped resources before it calls execute_request.

Source

pub async fn start_run_with_policy( &self, artifact: AgentArtifact, input: String, session_id: Option<String>, user_id: Option<String>, memory_hits: Vec<MemoryItem>, resolved_policy: Option<EffectiveRunPolicy>, ) -> String

Start a run using an immutable policy already resolved by UAR’s control plane. When omitted, a backward-compatible policy is resolved from the artifact, persisted conversation policy, and currently available resources.

Source

pub async fn start_run_with_policy_and_history( &self, artifact: AgentArtifact, input: String, session_id: Option<String>, user_id: Option<String>, memory_hits: Vec<MemoryItem>, resolved_policy: Option<EffectiveRunPolicy>, seed_history: Vec<SeedMessage>, ) -> String

Self::start_run_with_policy plus a seed_history of prior turns used to repopulate an empty session (a cold-started conversation whose durable history lives in the host, not the in-process store). A session that already holds messages is never re-seeded, so this is idempotent across warm turns.

Source

pub async fn start_run_from_checkpoint( &self, artifact: AgentArtifact, input: Option<String>, session_id: Option<String>, user_id: Option<String>, memory_hits: Vec<MemoryItem>, restored_history: Vec<Message>, restored_state: GraphState, checkpoint_authorization_digest: String, ) -> String

Start a run from a checkpoint’s exact graph state and conversation history. Unlike an ordinary run, an absent input does not append an empty user turn to the restored history.

Source

pub async fn execute_request(&self, request: RunExecutionRequest) -> String

Execute the shared request type; compatibility entry points adapt here.

Source

pub async fn capture_thread_kernel( &self, owner: &ActorOwner, root: &PersistedAgentThread, persistence: Arc<dyn PersistenceLayer>, ) -> Result<CapturedThreadKernel>

Capture a live root’s executable resources for its trusted thread host. This neither admits a child nor creates a second thread scheduler.

§Errors

Rejects unverified owners, completed roots and unavailable MCP bindings.

Source

pub async fn subscribe(&self, run_id: &str) -> Option<Receiver<StreamEvent>>

Source

pub async fn subscriber_count(&self, run_id: &str) -> usize

Number of active subscribers to a run’s event stream (SSE clients).

Source

pub async fn cancel_run_if_no_subscribers(&self, run_id: &str) -> bool

Cancel a run only if it currently has no subscribers.

Used by the SSE disconnect guard to implement last-subscriber-drop semantics: a run is abandoned only when the final viewer leaves, so a multi-viewer stream (or a client reconnecting via history replay) is not cancelled when one of several subscribers disconnects. Returns true if the run was cancelled.

Source

pub async fn emit_to_run(&self, run_id: &str, event: NormalizedEvent)

Emit an event into an existing run’s broadcast channel.

This is used by external callers (e.g. post-stream auto-capture) that need to inject events after start_run returns. The event is also appended to the run’s history buffer so late-connecting SSE clients can replay it. Silently no-ops if the run has already been cleaned up.

Source

pub async fn history_since( &self, run_id: &str, last_event_id: Option<u64>, ) -> Option<Vec<StreamEvent>>

Source

pub async fn get_run(&self, run_id: &str) -> Option<Run>

Source

pub async fn get_run_for_user( &self, owner_id: &str, run_id: &str, ) -> Option<Run>

Return a run only when it belongs to the authenticated subject.

Source

pub async fn get_run_for_owner( &self, owner: &ActorOwner, run_id: &str, ) -> Option<Run>

Return a run only for the exact verified subject and tenant identity.

Source

pub async fn get_run_by_session_id(&self, session_id: &str) -> Option<Run>

Source

pub async fn get_run_by_session_id_for_user( &self, owner_id: &str, session_id: &str, ) -> Option<Run>

Return the current run for an owner-scoped conversation session.

Source

pub async fn resolve_default_model(&self) -> Option<(String, String)>

Return the resolved default model (provider_id, model_id) if one is available, or None if neither a provider registry entry nor a global llm_config.model is configured.

Trait Implementations§

Source§

impl Clone for RunManager

Source§

fn clone(&self) -> RunManager

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

impl Debug for RunManager

Source§

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

Formats the value using the given formatter. 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
§

impl<U> As for U

§

fn as_<T>(self) -> T
where T: CastFrom<U>, U: Sized,

Casts self to type T. The semantics of numeric casting with the as operator are followed, so <T as As>::as_::<U> can be used in the same way as T as U for numeric conversions. Read more
§

impl<T> AsyncFriendly for T
where T: Send + Sync + 'static,

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
§

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,

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
§

impl<T> Conv for T

§

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

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

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

Source§

fn __clone_box(&self, _: Private) -> *mut ()

§

impl<T> ErasedDestructor for T
where T: 'static,

§

impl<T> FmtForward for T

§

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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.

§

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

§

fn from_ref(input: &T) -> T

Converts to this type from a reference to the input type.
§

impl<T> FutureExt for T

§

fn with_context(self, otel_cx: Context) -> WithContext<Self>

Attaches the provided Context to this type, returning a WithContext wrapper. Read more
§

fn with_current_context(self) -> WithContext<Self>

Attaches the current Context to this type, returning a WithContext wrapper. Read more
§

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

§

fn generate(&mut self) -> T

§

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.

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
§

impl<T> IntoRequest<T> for T

§

fn into_request(self) -> Request<T>

Wrap the input message T in a tonic::Request
§

impl<Unshared, Shared> IntoShared<Shared> for Unshared
where Shared: FromUnshared<Unshared>,

§

fn into_shared(self) -> Shared

Creates a shared type from an unshared type.
§

impl<L> LayerExt<L> for L

§

fn named_layer<S>(&self, service: S) -> Layered<<L as Layer<S>>::Service, S>
where L: Layer<S>,

Applies the layer to a service and wraps it in [Layered].
§

impl<T> MaybeSend for T
where T: Send,

§

impl<T> MaybeSend for T
where T: Send,

§

impl<T> Message for T
where T: Any + Send + 'static,

§

fn from_boxed(m: BoxedMessage) -> Result<Self, BoxedDowncastErr>

Convert a [BoxedMessage] to this concrete type
§

fn box_message(self, pid: &ActorId) -> Result<BoxedMessage, BoxedDowncastErr>

Convert this message to a [BoxedMessage]
§

impl<T> OutputMessage for T
where T: Message + Clone,

§

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

§

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
§

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
§

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
§

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
§

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
§

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

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

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

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

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
§

impl<T> Pointee for T

§

type Pointer = u32

§

fn debug( pointer: <T as Pointee>::Pointer, f: &mut Formatter<'_>, ) -> Result<(), Error>

§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + 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: Sized + 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
§

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

§

fn and<P, B, E>(self, other: P) -> And<T, P>
where T: Sized + 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: Sized + 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
§

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

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
§

impl<T, S> SimdFrom<T, S> for T
where S: Simd,

§

fn simd_from(_simd: S, value: T) -> T

§

impl<F, T, S> SimdInto<T, S> for F
where T: SimdFrom<F, S>, S: Simd,

§

fn simd_into(self, simd: S) -> T

§

impl<T> State for T
where T: Any + Send + 'static,

§

impl<T> Tap for T

§

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

Immutable access to a value. Read more
§

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

Mutable access to a value. Read more
§

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
§

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
§

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
§

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
§

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
§

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
§

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

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

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

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

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

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

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

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

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

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
§

impl<T> TryConv for T

§

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

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<G1, G2> Within<G2> for G1
where G2: Contains<G1>,

§

fn is_within(&self, b: &G2) -> bool