pub struct ExtensionManager { /* private fields */ }Expand description
Extension manager for handling loaded extensions.
Implementations§
Source§impl ExtensionManager
impl ExtensionManager
Sourcepub const DEFAULT_CLEANUP_BUDGET: Duration
pub const DEFAULT_CLEANUP_BUDGET: Duration
Default cleanup budget for extension shutdown.
Sourcepub fn new() -> Self
pub fn new() -> Self
Create a new extension manager.
Loads persisted permission decisions from disk (if any) and seeds the in-memory policy prompt cache so that “Allow Always” / “Deny Always” choices survive across sessions.
Sourcepub fn with_budget(budget: Budget) -> Self
pub fn with_budget(budget: Budget) -> Self
Create a new extension manager with a specific operation budget.
Sourcepub fn snapshot_version(&self) -> u64
pub fn snapshot_version(&self) -> u64
Current snapshot version (seqlock counter).
Cheap atomic load — useful for staleness checks without cloning.
Sourcepub fn set_budget(&self, budget: Budget)
pub fn set_budget(&self, budget: Budget)
Set the budget for extension operations.
Sourcepub fn extension_cx(&self) -> Cx
pub fn extension_cx(&self) -> Cx
Create a Cx for extension operations using the configured budget.
If a budget with constraints is set, returns a budget-constrained Cx. Otherwise returns a standard request-scoped Cx.
pub fn set_runtime_risk_config(&self, config: RuntimeRiskConfig)
pub fn runtime_risk_config(&self) -> RuntimeRiskConfig
Sourcepub fn rollout_phase(&self) -> RolloutPhase
pub fn rollout_phase(&self) -> RolloutPhase
Get the current rollout phase.
Sourcepub fn set_rollout_phase(&self, phase: RolloutPhase)
pub fn set_rollout_phase(&self, phase: RolloutPhase)
Set the rollout phase explicitly (operator override).
Sourcepub fn advance_rollout(&self) -> bool
pub fn advance_rollout(&self) -> bool
Advance the rollout to the next phase. Returns true if changed.
Sourcepub fn record_rollout_decision(
&self,
latency_ms: u64,
was_error: bool,
was_false_positive: bool,
) -> bool
pub fn record_rollout_decision( &self, latency_ms: u64, was_error: bool, was_false_positive: bool, ) -> bool
Record a risk decision for rollback trigger evaluation.
Returns true if a rollback was triggered.
Sourcepub fn set_rollback_trigger(&self, trigger: &RollbackTrigger)
pub fn set_rollback_trigger(&self, trigger: &RollbackTrigger)
Configure the rollback trigger thresholds.
Sourcepub fn rollout_state(&self) -> RolloutState
pub fn rollout_state(&self) -> RolloutState
Get a snapshot of the current rollout state for operator inspection.
Sourcepub fn record_subprocess_spawn(&self, extension_id: &str)
pub fn record_subprocess_spawn(&self, extension_id: &str)
Record subprocess spawn (increments active subprocess counter).
Sourcepub fn record_subprocess_exit(&self, extension_id: &str)
pub fn record_subprocess_exit(&self, extension_id: &str)
Record subprocess exit (decrements active subprocess counter).
Sourcepub fn record_write_bytes(&self, extension_id: &str, bytes: u64)
pub fn record_write_bytes(&self, extension_id: &str, bytes: u64)
Record bytes written by an extension (for write quota tracking).
Sourcepub fn quota_state(&self, extension_id: &str) -> Option<(u64, u32, u64, u64)>
pub fn quota_state(&self, extension_id: &str) -> Option<(u64, u32, u64, u64)>
Get the current quota state for an extension (for telemetry/inspection).
Sourcepub fn set_budget_controller_config(
&self,
config: ExtensionBudgetControllerConfig,
)
pub fn set_budget_controller_config( &self, config: ExtensionBudgetControllerConfig, )
Update the budget-controller configuration.
Sourcepub fn budget_controller_config(&self) -> ExtensionBudgetControllerConfig
pub fn budget_controller_config(&self) -> ExtensionBudgetControllerConfig
Snapshot the budget-controller configuration.
Sourcepub fn regime_shift_snapshot(
&self,
extension_id: &str,
) -> Option<RegimeShiftSnapshot>
pub fn regime_shift_snapshot( &self, extension_id: &str, ) -> Option<RegimeShiftSnapshot>
Snapshot the regime-shift detector state for an extension.
Sourcepub fn any_safety_envelope_vetoing(&self) -> bool
pub fn any_safety_envelope_vetoing(&self) -> bool
Check if any extension has an active safety envelope veto.
When any extension is in a vetoed state, aggressive optimization (e.g. AMAC interleaving) should be disabled to remain conservative.
Sourcepub fn safety_envelope_snapshot(
&self,
extension_id: &str,
) -> Option<SafetyEnvelopeSnapshot>
pub fn safety_envelope_snapshot( &self, extension_id: &str, ) -> Option<SafetyEnvelopeSnapshot>
Snapshot the safety envelope state for an extension.
Sourcepub fn oco_tuner_snapshot(&self, extension_id: &str) -> Option<OcoTunerSnapshot>
pub fn oco_tuner_snapshot(&self, extension_id: &str) -> Option<OcoTunerSnapshot>
Snapshot OCO tuner state for an extension.
Sourcepub fn set_quota_config(&self, config: ExtensionQuotaConfig)
pub fn set_quota_config(&self, config: ExtensionQuotaConfig)
Update the global quota configuration.
Sourcepub fn drain_quota_breach_events(&self) -> Vec<QuotaBreachEvent>
pub fn drain_quota_breach_events(&self) -> Vec<QuotaBreachEvent>
Drain and return all quota breach telemetry events.
Sourcepub fn quota_breach_count(&self) -> usize
pub fn quota_breach_count(&self) -> usize
Get the count of recorded quota breach events (for inspection).
Sourcepub fn reset_quota_state(&self, extension_id: &str)
pub fn reset_quota_state(&self, extension_id: &str)
Reset quota counters for a specific extension (e.g. on extension reload). The sliding window timestamps and monotonic counters are cleared.
Sourcepub fn enable_replay(&self, config: ReplayLaneConfig)
pub fn enable_replay(&self, config: ReplayLaneConfig)
Enable replay trace recording with the given budget/config.
Sourcepub fn disable_replay(&self)
pub fn disable_replay(&self)
Disable replay trace recording.
Sourcepub fn store_replay_bundle(&self, bundle: ReplayTraceBundle)
pub fn store_replay_bundle(&self, bundle: ReplayTraceBundle)
Store a completed replay trace bundle from a dispatch cycle.
Sourcepub fn drain_replay_bundles(&self) -> Vec<ReplayTraceBundle>
pub fn drain_replay_bundles(&self) -> Vec<ReplayTraceBundle>
Drain and return all stored replay trace bundles.
Sourcepub fn replay_config(&self) -> Option<ReplayLaneConfig>
pub fn replay_config(&self) -> Option<ReplayLaneConfig>
Get the current replay lane config (if enabled).
pub fn runtime_risk_ledger_artifact(&self) -> RuntimeRiskLedgerArtifact
pub fn runtime_hostcall_telemetry_artifact( &self, ) -> RuntimeHostcallTelemetryArtifact
pub fn runtime_risk_verify_ledger(&self) -> RuntimeRiskLedgerVerificationReport
pub fn runtime_risk_replay_ledger(&self) -> Result<RuntimeRiskReplayArtifact>
pub fn runtime_risk_calibrate_ledger( &self, config: &RuntimeRiskCalibrationConfig, ) -> Result<RuntimeRiskCalibrationReport>
Sourcepub fn build_baseline(
&self,
extension_id: &str,
) -> Result<RuntimeRiskBaselineModel>
pub fn build_baseline( &self, extension_id: &str, ) -> Result<RuntimeRiskBaselineModel>
Build a baseline model for the given extension from the current ledger.
Sourcepub fn record_exec_mediation(&self, entry: ExecMediationLedgerEntry)
pub fn record_exec_mediation(&self, entry: ExecMediationLedgerEntry)
Record an exec mediation decision into the SEC-4.3 ledger.
Sourcepub fn record_secret_broker(&self, entry: SecretBrokerLedgerEntry)
pub fn record_secret_broker(&self, entry: SecretBrokerLedgerEntry)
Record a secret broker decision into the SEC-4.3 ledger.
Sourcepub fn exec_mediation_artifact(&self) -> ExecMediationArtifact
pub fn exec_mediation_artifact(&self) -> ExecMediationArtifact
Export the exec mediation ledger as a structured artifact.
Sourcepub fn secret_broker_artifact(&self) -> SecretBrokerArtifact
pub fn secret_broker_artifact(&self) -> SecretBrokerArtifact
Export the secret broker ledger as a structured artifact.
Sourcepub fn record_security_alert(&self, alert: SecurityAlert)
pub fn record_security_alert(&self, alert: SecurityAlert)
Record a security alert into the SEC-5.1 alert stream.
Sourcepub fn security_alert_artifact(&self) -> SecurityAlertArtifact
pub fn security_alert_artifact(&self) -> SecurityAlertArtifact
Export the security alert stream as a structured artifact.
Sourcepub fn security_alert_count(&self) -> usize
pub fn security_alert_count(&self) -> usize
Return the current count of recorded security alerts.
Sourcepub fn set_hostcall_compat_kill_switch_global(&self, enabled: bool)
pub fn set_hostcall_compat_kill_switch_global(&self, enabled: bool)
Enable or disable the global hostcall compatibility-lane kill-switch.
When enabled, all hostcalls that would normally use the fast lane are deterministically routed through the compatibility lane.
Sourcepub fn set_hostcall_compat_kill_switch_for_extension(
&self,
extension_id: &str,
enabled: bool,
)
pub fn set_hostcall_compat_kill_switch_for_extension( &self, extension_id: &str, enabled: bool, )
Enable or disable per-extension hostcall compatibility-lane kill-switch.
When enabled for extension_id, fast-lane-eligible hostcalls from that
extension are routed through the compatibility lane.
pub fn hostcall_compat_kill_switch_global(&self) -> bool
pub fn hostcall_compat_kill_switch_for_extension( &self, extension_id: &str, ) -> bool
Sourcepub fn enable_hostcall_reactor(&self, config: HostcallReactorConfig)
pub fn enable_hostcall_reactor(&self, config: HostcallReactorConfig)
Enable the hostcall reactor mesh with the given configuration.
Fast-lane opcodes will be routed through per-shard SPSC lanes for reduced cross-core contention.
Sourcepub fn disable_hostcall_reactor(&self)
pub fn disable_hostcall_reactor(&self)
Disable the hostcall reactor mesh.
Sourcepub fn hostcall_reactor_enabled(&self) -> bool
pub fn hostcall_reactor_enabled(&self) -> bool
Check if the reactor mesh is enabled.
Sourcepub fn reactor_drain_shard(
&self,
shard_id: usize,
budget: usize,
) -> Vec<HostcallReactorRequest>
pub fn reactor_drain_shard( &self, shard_id: usize, budget: usize, ) -> Vec<HostcallReactorRequest>
Drain pending requests from a specific reactor shard.
Sourcepub fn reactor_drain_global(&self, budget: usize) -> Vec<HostcallReactorRequest>
pub fn reactor_drain_global(&self, budget: usize) -> Vec<HostcallReactorRequest>
Drain pending requests in deterministic global sequence order.
Sourcepub fn reactor_telemetry(&self) -> Option<HostcallReactorTelemetry>
pub fn reactor_telemetry(&self) -> Option<HostcallReactorTelemetry>
Get reactor mesh telemetry snapshot.
Sourcepub fn kill_switch(
&self,
extension_id: &str,
reason: &str,
operator: &str,
) -> KillSwitchResult
pub fn kill_switch( &self, extension_id: &str, reason: &str, operator: &str, ) -> KillSwitchResult
Activate the kill-switch for an extension.
Immediately sets the extension’s trust state to Killed and
quarantines it in the runtime risk controller so all future
hostcalls are rejected. Emits a Critical security alert and
records an audit entry.
Sourcepub fn lift_kill_switch(
&self,
extension_id: &str,
reason: &str,
operator: &str,
) -> KillSwitchResult
pub fn lift_kill_switch( &self, extension_id: &str, reason: &str, operator: &str, ) -> KillSwitchResult
Lift the kill-switch for an extension.
Requires explicit acknowledgment. Moves the trust state back to
Acknowledged and clears the quarantine flag. Records an audit
entry and emits an Info-level security alert.
Sourcepub fn is_killed(&self, extension_id: &str) -> bool
pub fn is_killed(&self, extension_id: &str) -> bool
Check whether an extension is currently killed.
Sourcepub fn trust_state(&self, extension_id: &str) -> ExtensionTrustState
pub fn trust_state(&self, extension_id: &str) -> ExtensionTrustState
Get the trust state for an extension.
Sourcepub fn record_trust_onboarding(
&self,
extension_id: &str,
risk_level: &str,
accepted: bool,
operator: &str,
) -> ExtensionTrustState
pub fn record_trust_onboarding( &self, extension_id: &str, risk_level: &str, accepted: bool, operator: &str, ) -> ExtensionTrustState
Record a trust onboarding decision.
If accepted is true, the extension moves to Acknowledged.
If accepted is false, the extension is killed (rejected).
Sourcepub fn promote_trust(&self, extension_id: &str) -> ExtensionTrustState
pub fn promote_trust(&self, extension_id: &str) -> ExtensionTrustState
Promote an extension to Trusted state.
Only extensions currently in Acknowledged state can be promoted.
Sourcepub fn kill_switch_audit_log(&self) -> Vec<KillSwitchAuditEntry>
pub fn kill_switch_audit_log(&self) -> Vec<KillSwitchAuditEntry>
Return the kill-switch audit trail.
Sourcepub fn trust_onboarding_decisions(&self) -> Vec<TrustOnboardingDecision>
pub fn trust_onboarding_decisions(&self) -> Vec<TrustOnboardingDecision>
Return the trust onboarding decision log.
Sourcepub fn export_incident_bundle(
&self,
filter: &IncidentBundleFilter,
redaction: &IncidentBundleRedactionPolicy,
) -> IncidentEvidenceBundle
pub fn export_incident_bundle( &self, filter: &IncidentBundleFilter, redaction: &IncidentBundleRedactionPolicy, ) -> IncidentEvidenceBundle
Export a complete incident evidence bundle combining all security artifacts with optional filtering and redaction.
Delegates to build_incident_evidence_bundle after collecting
all sub-artifacts from the manager.
Sourcepub async fn shutdown(&self, budget: Duration) -> bool
pub async fn shutdown(&self, budget: Duration) -> bool
Shut down the extension runtime with a cleanup budget.
Sends a graceful shutdown to the configured extension runtime thread and waits up to
budget for it to exit. Returns true if the runtime exited
cleanly within the budget.
pub fn set_ui_sender(&self, sender: Sender<ExtensionUiRequest>)
pub fn clear_ui_sender(&self)
pub fn set_runtime(&self, runtime: ExtensionRuntimeHandle)
pub fn set_js_runtime(&self, runtime: JsExtensionRuntimeHandle)
pub fn set_native_runtime(&self, runtime: NativeRustExtensionRuntimeHandle)
pub fn set_cwd(&self, cwd: String)
pub fn set_model_registry_values(&self, values: HashMap<String, String>)
pub fn set_host_actions(&self, actions: Arc<dyn ExtensionHostActions>)
pub fn runtime(&self) -> Option<ExtensionRuntimeHandle>
pub fn js_runtime(&self) -> Option<JsExtensionRuntimeHandle>
pub fn native_runtime(&self) -> Option<NativeRustExtensionRuntimeHandle>
pub fn cached_policy_prompt_decision( &self, extension_id: &str, capability: &str, ) -> Option<bool>
pub fn cache_policy_prompt_decision( &self, extension_id: &str, capability: &str, allow: bool, )
Sourcepub fn revoke_extension_permissions(&self, extension_id: &str)
pub fn revoke_extension_permissions(&self, extension_id: &str)
Revoke all persisted permission decisions for an extension.
Sourcepub fn reset_all_permissions(&self)
pub fn reset_all_permissions(&self)
Reset all persisted permission decisions.
Sourcepub fn list_permissions(
&self,
) -> HashMap<String, HashMap<String, PersistedDecision>>
pub fn list_permissions( &self, ) -> HashMap<String, HashMap<String, PersistedDecision>>
List all persisted permission decisions.
Sourcepub fn active_tools(&self) -> Option<Vec<String>>
pub fn active_tools(&self) -> Option<Vec<String>>
Lock-free: reads from the RCU snapshot.
pub async fn load_js_extensions( &self, specs: Vec<JsExtensionLoadSpec>, ) -> Result<()>
pub async fn load_native_extensions( &self, specs: Vec<NativeRustExtensionLoadSpec>, ) -> Result<()>
pub async fn load_wasm_extensions( &self, host: &WasmExtensionHost, specs: Vec<WasmExtensionLoadSpec>, tools: Arc<ToolRegistry>, ) -> Result<()>
pub fn wasm_extensions(&self) -> Vec<WasmExtensionHandle>
pub fn set_session(&self, session: Arc<dyn ExtensionSession>)
Sourcepub fn session_handle(&self) -> Option<Arc<dyn ExtensionSession>>
pub fn session_handle(&self) -> Option<Arc<dyn ExtensionSession>>
Lock-free: reads from the RCU snapshot.
pub fn set_active_tools(&self, tools: Vec<String>)
Sourcepub fn current_model(&self) -> (Option<String>, Option<String>)
pub fn current_model(&self) -> (Option<String>, Option<String>)
Lock-free: reads from the RCU snapshot.
pub fn set_current_model( &self, provider: Option<String>, model_id: Option<String>, )
Sourcepub fn current_thinking_level(&self) -> Option<String>
pub fn current_thinking_level(&self) -> Option<String>
Lock-free: reads from the RCU snapshot.
pub fn set_current_thinking_level(&self, level: Option<String>)
Sourcepub fn extension_tool_defs(&self) -> Vec<Value>
pub fn extension_tool_defs(&self) -> Vec<Value>
Collect tool definitions from all registered extensions.
Uses the pre-computed snapshot (RCU) instead of locking the mutex.
pub fn register(&self, payload: RegisterPayload)
pub fn has_command(&self, name: &str) -> bool
Sourcepub fn register_command(&self, name: &str, description: Option<&str>)
pub fn register_command(&self, name: &str, description: Option<&str>)
Dynamically register a slash command at runtime (from a hostcall).
Sourcepub fn register_provider(&self, payload: Value)
pub fn register_provider(&self, payload: Value)
Dynamically register a provider at runtime (from a hostcall).
Sourcepub fn register_flag(&self, spec: Value)
pub fn register_flag(&self, spec: Value)
Dynamically register a flag at runtime (from a hostcall).
Sourcepub async fn execute_command(
&self,
command_name: &str,
args: &str,
timeout_ms: u64,
) -> Result<Value>
pub async fn execute_command( &self, command_name: &str, args: &str, timeout_ms: u64, ) -> Result<Value>
Execute an extension slash command via the JS runtime.
Sourcepub fn extension_providers(&self) -> Vec<Value>
pub fn extension_providers(&self) -> Vec<Value>
Return extension-registered providers as raw JSON specs.
Uses the pre-computed snapshot (RCU) instead of locking the mutex.
Sourcepub fn provider_has_stream_simple(&self, provider_id: &str) -> bool
pub fn provider_has_stream_simple(&self, provider_id: &str) -> bool
Return true if an extension provider is backed by a JS streamSimple handler.
Sourcepub fn extension_model_entries(&self) -> Vec<ModelEntry>
pub fn extension_model_entries(&self) -> Vec<ModelEntry>
Convert extension-registered providers into model entries suitable for
merging into the ModelRegistry.
pub fn list_commands(&self) -> Vec<Value>
pub fn has_shortcut(&self, key_id: &str) -> bool
pub fn list_shortcuts(&self) -> Vec<Value>
pub fn list_flags(&self) -> Vec<Value>
Sourcepub fn list_event_hooks(&self) -> Vec<String>
pub fn list_event_hooks(&self) -> Vec<String>
List all event hook names registered by all loaded extensions.
Sourcepub async fn execute_shortcut(
&self,
key_id: &str,
ctx_payload: Value,
timeout_ms: u64,
) -> Result<Value>
pub async fn execute_shortcut( &self, key_id: &str, ctx_payload: Value, timeout_ms: u64, ) -> Result<Value>
Execute an extension shortcut via the JS runtime.
Sourcepub async fn set_flag_value(
&self,
extension_id: &str,
flag_name: &str,
value: Value,
) -> Result<()>
pub async fn set_flag_value( &self, extension_id: &str, flag_name: &str, value: Value, ) -> Result<()>
Set a flag value in the JS runtime for a specific extension.
pub async fn request_ui( &self, request: ExtensionUiRequest, ) -> Result<Option<ExtensionUiResponse>>
pub fn respond_ui(&self, response: ExtensionUiResponse) -> bool
Sourcepub async fn dispatch_event(
&self,
event: ExtensionEventName,
data: Option<Value>,
) -> Result<()>
pub async fn dispatch_event( &self, event: ExtensionEventName, data: Option<Value>, ) -> Result<()>
Dispatch an event to all registered extensions.
Sourcepub async fn dispatch_event_with_response(
&self,
event: ExtensionEventName,
data: Option<Value>,
timeout_ms: u64,
) -> Result<Option<Value>>
pub async fn dispatch_event_with_response( &self, event: ExtensionEventName, data: Option<Value>, timeout_ms: u64, ) -> Result<Option<Value>>
Dispatch an event to all registered extensions and return the raw response (if any).
Sourcepub async fn dispatch_cancellable_event(
&self,
event: ExtensionEventName,
data: Option<Value>,
timeout_ms: u64,
) -> Result<bool>
pub async fn dispatch_cancellable_event( &self, event: ExtensionEventName, data: Option<Value>, timeout_ms: u64, ) -> Result<bool>
Dispatch a cancellable event to all registered extensions.
Sourcepub async fn dispatch_event_batch(
&self,
events: Vec<(ExtensionEventName, Option<Value>)>,
) -> Result<()>
pub async fn dispatch_event_batch( &self, events: Vec<(ExtensionEventName, Option<Value>)>, ) -> Result<()>
Dispatch multiple fire-and-forget events in a single JS bridge call.
Events that have no registered hooks are filtered out before crossing
the bridge. Returns Ok(()) — individual per-event errors are logged
but do not fail the batch.
Sourcepub async fn dispatch_tool_call(
&self,
tool_call: &ToolCall,
timeout_ms: u64,
) -> Result<Option<ToolCallEventResult>>
pub async fn dispatch_tool_call( &self, tool_call: &ToolCall, timeout_ms: u64, ) -> Result<Option<ToolCallEventResult>>
Dispatch a tool_call event to registered extensions and return the first
blocking response (if any).
Sourcepub async fn dispatch_tool_result(
&self,
tool_call: &ToolCall,
output: &ToolOutput,
is_error: bool,
timeout_ms: u64,
) -> Result<Option<ToolResultEventResult>>
pub async fn dispatch_tool_result( &self, tool_call: &ToolCall, output: &ToolOutput, is_error: bool, timeout_ms: u64, ) -> Result<Option<ToolResultEventResult>>
Dispatch a tool_result event to registered extensions and return the
last handler response (if any).
Sourcepub fn invalidate_ctx_cache(&self)
pub fn invalidate_ctx_cache(&self)
Invalidate the context cache, forcing the next dispatch to rebuild it.
Call this when session content changes outside the normal setter flow (e.g. after appending messages to a session).
Sourcepub fn has_hook_for(&self, event_name: &str) -> bool
pub fn has_hook_for(&self, event_name: &str) -> bool
Check whether any extension has registered a hook for the given event name. O(1) lookup via pre-computed bitmap.
Lock-free: reads from the RCU snapshot.
Sourcepub fn has_any_event_hooks(&self) -> bool
pub fn has_any_event_hooks(&self) -> bool
Returns true if at least one event hook is registered across all
extensions. Use this as a fast-path gate to skip event serialization
entirely when no hooks are present.
Lock-free: reads from the RCU snapshot.
Trait Implementations§
Source§impl Clone for ExtensionManager
impl Clone for ExtensionManager
Source§fn clone(&self) -> ExtensionManager
fn clone(&self) -> ExtensionManager
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ExtensionManager
impl Debug for ExtensionManager
Auto Trait Implementations§
impl Freeze for ExtensionManager
impl RefUnwindSafe for ExtensionManager
impl Send for ExtensionManager
impl Sync for ExtensionManager
impl Unpin for ExtensionManager
impl UnsafeUnpin for ExtensionManager
impl UnwindSafe for ExtensionManager
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, _span: NoopSpan) -> Self
fn instrument(self, _span: NoopSpan) -> Self
Source§fn in_current_span(self) -> Self
fn in_current_span(self) -> Self
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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 moreSource§impl<T> Pointable for T
impl<T> Pointable for T
Source§impl<R, P> ReadPrimitive<R> for P
impl<R, P> ReadPrimitive<R> for P
Source§fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
fn read_from_little_endian(read: &mut R) -> Result<Self, Error>
ReadEndian::read_from_little_endian().