Skip to main content

EditorStateSnapshot

Struct EditorStateSnapshot 

Source
pub struct EditorStateSnapshot {
Show 36 fields pub active_buffer_id: BufferId, pub active_split_id: usize, pub buffers: HashMap<BufferId, BufferInfo>, pub buffer_saved_diffs: HashMap<BufferId, BufferSavedDiff>, pub primary_cursor: Option<CursorInfo>, pub primary_cursor_line: Option<u32>, pub all_cursors: Vec<CursorInfo>, pub viewport: Option<ViewportInfo>, pub splits: Vec<SplitSnapshot>, pub buffer_cursor_positions: HashMap<BufferId, usize>, pub buffer_text_properties: HashMap<BufferId, Vec<TextProperty>>, pub selected_text: Option<String>, pub clipboard: String, pub working_dir: PathBuf, pub windows: Vec<WindowInfo>, pub active_window_id: WindowId, pub authority_label: String, pub workspace_trust_level: String, pub env_active: bool, pub detected_env: String, pub diagnostics: Arc<HashMap<String, Vec<Diagnostic>>>, pub folding_ranges: Arc<HashMap<String, Vec<FoldingRange>>>, pub config: Arc<Value>, pub user_config: Arc<Value>, pub available_grammars: Vec<GrammarInfoSnapshot>, pub last_grammar_gen: u64, pub editor_mode: Option<String>, pub plugin_view_states: HashMap<BufferId, HashMap<String, Value>>, pub plugin_view_states_split: usize, pub keybinding_labels: HashMap<String, String>, pub plugin_global_states: HashMap<String, HashMap<String, Value>>, pub active_session_plugin_states: HashMap<String, HashMap<String, Value>>, pub terminal_width: u16, pub terminal_height: u16, pub has_active_search: bool, pub macros: Vec<MacroSnapshot>,
}
Expand description

Snapshot of editor state for plugin queries This is updated by the editor on each loop iteration

Fields§

§active_buffer_id: BufferId

Currently active buffer ID

§active_split_id: usize

Currently active split ID

§buffers: HashMap<BufferId, BufferInfo>

Information about all open buffers

§buffer_saved_diffs: HashMap<BufferId, BufferSavedDiff>

Diff vs last saved snapshot for each buffer (line counts may be unknown)

§primary_cursor: Option<CursorInfo>

Primary cursor position for the active buffer

§primary_cursor_line: Option<u32>

Primary cursor’s line number (0-indexed) for the active buffer. Mirrors the editor’s primary_cursor_line_number cache so plugins can read “what line is the cursor on” without scanning the buffer. None when there is no active view state (e.g. before the first buffer is loaded).

§all_cursors: Vec<CursorInfo>

All cursor positions for the active buffer

§viewport: Option<ViewportInfo>

Viewport information for the active buffer

§splits: Vec<SplitSnapshot>

Per-split snapshots: split id, buffer shown, viewport. Includes the active split. Order is unspecified.

§buffer_cursor_positions: HashMap<BufferId, usize>

Cursor positions per buffer (for buffers other than active)

§buffer_text_properties: HashMap<BufferId, Vec<TextProperty>>

Text properties per buffer (for virtual buffers with properties)

§selected_text: Option<String>

Selected text from the primary cursor (if any selection exists) This is populated on each update to avoid needing full buffer access

§clipboard: String

Internal clipboard content (for plugins that need clipboard access)

§working_dir: PathBuf

Editor’s working directory (for file operations and spawning processes).

Equal to sessions[i].root where sessions[i].id == active_window_id. Plugins that just need “where am I” can read this directly; plugins orchestrating multiple sessions (Orchestrator) iterate sessions.

§windows: Vec<WindowInfo>

All editor sessions, in id order. Always non-empty (the base session is id == 1). Updated when sessions are created/closed or relabelled.

§active_window_id: WindowId

Id of the currently active session. Always present in sessions. Read by plugins via editor.activeWindow().

§authority_label: String

Status-bar / explorer label for the active authority.

Empty = the local (default) authority with nothing to render. Non-empty means a non-local authority is installed (e.g. "Container:abc123def456" for a devcontainer). Plugins can read this via editor.getAuthorityLabel() to detect “already attached” without having to track state across editor restarts.

§workspace_trust_level: String

Current Workspace Trust level for the active project: "restricted", "trusted", or "blocked". Empty when trust state is unavailable (e.g. the default local authority before a guarded one is installed). Plugins that run repo-controlled work read this via editor.workspaceTrustLevel() and should treat anything other than "trusted" as “do not execute”.

§env_active: bool

Whether an environment is currently active (the env-manager has set a recipe via editor.setEnv). Plugins read this via editor.envActive() to reflect activation in the status bar and re-establish file watches after the restart that activation triggers.

§detected_env: String

The environment core detected in the workspace, as a JSON string ({"name","kind","snippet"}) or empty when none is detected. The env-manager plugin reads this via editor.detectedEnv() instead of probing the filesystem itself — detection lives only in core (see workspace_trust::detect_env).

§diagnostics: Arc<HashMap<String, Vec<Diagnostic>>>

LSP diagnostics per file URI. Maps file URI string to Vec of diagnostics for that file.

Wrapped in Arc so snapshot refresh is a refcount bump rather than a deep clone. The editor only mutates its own map through Arc::make_mut, which CoW-clones while this snapshot still holds a reference — a reader can never observe an in-place mutation.

#[serde(skip)]: serde out-of-the-box can’t serialize Arc<T> (behind the rc cargo feature we don’t enable). We never serialize the snapshot as a whole — plugin readers pull out these Arcs and serialize the inner value directly (e.g. get_all_diagnostics).

§folding_ranges: Arc<HashMap<String, Vec<FoldingRange>>>

LSP folding ranges per file URI. Maps file URI string to Vec of folding ranges for that file. Arc-wrapped for the same CoW invariant as diagnostics; see that field for why this is #[serde(skip)].

§config: Arc<Value>

Runtime config as serde_json::Value (merged user config + defaults). This is the runtime config, not just the user’s config file.

Wrapped in Arc so the snapshot update is a refcount bump. The editor reserializes its source Config only when the underlying Arc<Config> pointer has moved (i.e., after a real mutation), and swaps the whole Arc<Value> atomically — callers never see a partially-updated blob. #[serde(skip)] for the same reason as diagnostics.

§user_config: Arc<Value>

User config as serde_json::Value (only what’s in the user’s config file). Fields not present here are using default values. Arc-wrapped; swapped as a whole when the user’s file is reloaded. #[serde(skip)] for the same reason as diagnostics.

§available_grammars: Vec<GrammarInfoSnapshot>

Available grammars with provenance info, updated when grammar registry changes

§last_grammar_gen: u64

Last-seen grammar registry generation. The state-snapshot updater rebuilds available_grammars only when this disagrees with the registry’s current catalog_gen(). #[serde(skip)] because the counter is a host-side detail not exposed to plugins.

§editor_mode: Option<String>

Global editor mode for modal editing (e.g., “vi-normal”, “vi-insert”) When set, this mode’s keybindings take precedence over normal key handling

§plugin_view_states: HashMap<BufferId, HashMap<String, Value>>

Plugin-managed per-buffer view state for the active split. Updated from BufferViewState.plugin_state during snapshot updates. Also written directly by JS plugins via setViewState for immediate read-back.

§plugin_view_states_split: usize

Tracks which split was active when plugin_view_states was last populated. When the active split changes, plugin_view_states is fully repopulated.

§keybinding_labels: HashMap<String, String>

Keybinding labels for plugin modes, keyed by “action\0mode” for fast lookup. Updated when modes are registered via defineMode().

§plugin_global_states: HashMap<String, HashMap<String, Value>>

Plugin-managed global state, isolated per plugin. Outer key is plugin name, inner key is the state key set by the plugin. TODO: Need to think about plugin isolation / namespacing strategy for these APIs. Currently we isolate by plugin name, but we may want a more robust approach (e.g. preventing plugins from reading each other’s state, or providing explicit cross-plugin state sharing APIs).

§active_session_plugin_states: HashMap<String, HashMap<String, Value>>

Plugin-managed per-session state, snapshotted as the active session’s plugin_state map. Updated wholesale on setActiveWindow (alongside the rest of the per-session state) — plugins that read this via editor.getWindowState(key) see the active session’s values without crossing the IPC boundary on every read. Outer key is plugin name, inner is the plugin-defined key.

§terminal_width: u16

Total terminal dimensions in cells. Refreshed on every resize event. Plugins read this via editor.getScreenSize() when they need to size floating overlays against the whole terminal — getViewport() only reports the active split, which is smaller than the screen whenever splits exist.

§terminal_height: u16§has_active_search: bool

Whether search highlights are currently active in the active buffer. True when a search has been confirmed and its match overlays are visible. Cleared when the search is cancelled or a new search is started.

§macros: Vec<MacroSnapshot>

Recorded macros for the active session, in register order. Each entry’s steps is the macro rendered as ActionSpec[] — the same shape editor.executeActions consumes — so a plugin can read a macro and replay or serialise it without crossing the IPC boundary. Refreshed on every snapshot tick; read by editor.listMacros() / editor.getMacro().

Implementations§

Trait Implementations§

Source§

impl Clone for EditorStateSnapshot

Source§

fn clone(&self) -> EditorStateSnapshot

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 EditorStateSnapshot

Source§

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

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

impl Default for EditorStateSnapshot

Source§

fn default() -> EditorStateSnapshot

Returns the “default value” for a type. Read more
Source§

impl<'de> Deserialize<'de> for EditorStateSnapshot

Source§

fn deserialize<__D>( __deserializer: __D, ) -> Result<EditorStateSnapshot, <__D as Deserializer<'de>>::Error>
where __D: Deserializer<'de>,

Deserialize this value from the given Serde deserializer. Read more
Source§

impl Serialize for EditorStateSnapshot

Source§

fn serialize<__S>( &self, __serializer: __S, ) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>
where __S: Serializer,

Serialize this value into the given Serde serializer. Read more
Source§

impl TS for EditorStateSnapshot

Source§

type WithoutGenerics = EditorStateSnapshot

If this type does not have generic parameters, then WithoutGenerics should just be Self. If the type does have generic parameters, then all generic parameters must be replaced with a dummy type, e.g ts_rs::Dummy or ().
The only requirement for these dummy types is that EXPORT_TO must be None. Read more
Source§

type OptionInnerType = EditorStateSnapshot

If the implementing type is std::option::Option<T>, then this associated type is set to T. All other implementations of TS should set this type to Self instead.
Source§

fn ident(cfg: &Config) -> String

Identifier of this type, excluding generic parameters.
Source§

fn docs() -> Option<String>

JSDoc comment to describe this type in TypeScript - when TS is derived, docs are automatically read from your doc comments or #[doc = ".."] attributes
Source§

fn name(cfg: &Config) -> String

Name of this type in TypeScript, including generic parameters
Source§

fn decl_concrete(cfg: &Config) -> String

Declaration of this type using the supplied generic arguments. The resulting TypeScript definition will not be generic. For that, see TS::decl(). If this type is not generic, then this function is equivalent to TS::decl().
Source§

fn decl(cfg: &Config) -> String

Declaration of this type, e.g. type User = { user_id: number, ... }. This function will panic if the type has no declaration. Read more
Source§

fn inline(cfg: &Config) -> String

Formats this types definition in TypeScript, e.g { user_id: number }. This function will panic if the type cannot be inlined.
Source§

fn inline_flattened(cfg: &Config) -> String

Flatten a type declaration. This function will panic if the type cannot be flattened.
Source§

fn visit_generics(v: &mut impl TypeVisitor)
where EditorStateSnapshot: 'static,

Iterates over all type parameters of this type.
Source§

fn output_path() -> Option<PathBuf>

Returns the output path to where T should be exported, relative to the output directory. The returned path does not include any base directory. Read more
Source§

fn visit_dependencies(v: &mut impl TypeVisitor)
where EditorStateSnapshot: 'static,

Iterates over all dependency of this type.
Source§

fn dependencies(cfg: &Config) -> Vec<Dependency>
where Self: 'static,

Resolves all dependencies of this type recursively.
Source§

fn export(cfg: &Config) -> Result<(), ExportError>
where Self: 'static,

Manually export this type to the filesystem. To export this type together with all of its dependencies, use TS::export_all. Read more
Source§

fn export_all(cfg: &Config) -> Result<(), ExportError>
where Self: 'static,

Manually export this type to the filesystem, together with all of its dependencies. To export only this type, without its dependencies, use TS::export. Read more
Source§

fn export_to_string(cfg: &Config) -> Result<String, ExportError>
where Self: 'static,

Manually generate bindings for this type, returning a String. This function does not format the output, even if the format feature is enabled. 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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

Source§

impl<T> Downcast for T
where T: Any,

Source§

fn into_any(self: Box<T>) -> Box<dyn Any>

Convert Box<dyn Trait> (where Trait: Downcast) to Box<dyn Any>. Box<dyn Any> can then be further downcast into Box<ConcreteType> where ConcreteType implements Trait.
Source§

fn into_any_rc(self: Rc<T>) -> Rc<dyn Any>

Convert Rc<Trait> (where Trait: Downcast) to Rc<Any>. Rc<Any> can then be further downcast into Rc<ConcreteType> where ConcreteType implements Trait.
Source§

fn as_any(&self) -> &(dyn Any + 'static)

Convert &Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &Any’s vtable from &Trait’s.
Source§

fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)

Convert &mut Trait (where Trait: Downcast) to &Any. This is needed since Rust cannot generate &mut Any’s vtable from &mut Trait’s.
Source§

impl<T> DowncastSync for T
where T: Any + Send + Sync,

Source§

fn into_any_arc(self: Arc<T>) -> Arc<dyn Any + Sync + Send>

Convert Arc<Trait> (where Trait: Downcast) to Arc<Any>. Arc<Any> can then be further downcast into Arc<ConcreteType> where ConcreteType implements Trait.
Source§

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

Source§

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

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<'a, T> FromIn<'a, T> for T

Source§

fn from_in(t: T, _: &'a Allocator) -> T

Converts to this type from the input type within the given allocator.
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<'a, T, U> IntoIn<'a, U> for T
where U: FromIn<'a, T>,

Source§

fn into_in(self, allocator: &'a Allocator) -> U

Converts this type into the (usually inferred) input type within the given allocator.
Source§

impl<D> OwoColorize for D

Source§

fn fg<C>(&self) -> FgColorDisplay<'_, C, Self>
where C: Color,

Set the foreground color generically Read more
Source§

fn bg<C>(&self) -> BgColorDisplay<'_, C, Self>
where C: Color,

Set the background color generically. Read more
Source§

fn black(&self) -> FgColorDisplay<'_, Black, Self>

Change the foreground color to black
Source§

fn on_black(&self) -> BgColorDisplay<'_, Black, Self>

Change the background color to black
Source§

fn red(&self) -> FgColorDisplay<'_, Red, Self>

Change the foreground color to red
Source§

fn on_red(&self) -> BgColorDisplay<'_, Red, Self>

Change the background color to red
Source§

fn green(&self) -> FgColorDisplay<'_, Green, Self>

Change the foreground color to green
Source§

fn on_green(&self) -> BgColorDisplay<'_, Green, Self>

Change the background color to green
Source§

fn yellow(&self) -> FgColorDisplay<'_, Yellow, Self>

Change the foreground color to yellow
Source§

fn on_yellow(&self) -> BgColorDisplay<'_, Yellow, Self>

Change the background color to yellow
Source§

fn blue(&self) -> FgColorDisplay<'_, Blue, Self>

Change the foreground color to blue
Source§

fn on_blue(&self) -> BgColorDisplay<'_, Blue, Self>

Change the background color to blue
Source§

fn magenta(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to magenta
Source§

fn on_magenta(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to magenta
Source§

fn purple(&self) -> FgColorDisplay<'_, Magenta, Self>

Change the foreground color to purple
Source§

fn on_purple(&self) -> BgColorDisplay<'_, Magenta, Self>

Change the background color to purple
Source§

fn cyan(&self) -> FgColorDisplay<'_, Cyan, Self>

Change the foreground color to cyan
Source§

fn on_cyan(&self) -> BgColorDisplay<'_, Cyan, Self>

Change the background color to cyan
Source§

fn white(&self) -> FgColorDisplay<'_, White, Self>

Change the foreground color to white
Source§

fn on_white(&self) -> BgColorDisplay<'_, White, Self>

Change the background color to white
Source§

fn default_color(&self) -> FgColorDisplay<'_, Default, Self>

Change the foreground color to the terminal default
Source§

fn on_default_color(&self) -> BgColorDisplay<'_, Default, Self>

Change the background color to the terminal default
Source§

fn bright_black(&self) -> FgColorDisplay<'_, BrightBlack, Self>

Change the foreground color to bright black
Source§

fn on_bright_black(&self) -> BgColorDisplay<'_, BrightBlack, Self>

Change the background color to bright black
Source§

fn bright_red(&self) -> FgColorDisplay<'_, BrightRed, Self>

Change the foreground color to bright red
Source§

fn on_bright_red(&self) -> BgColorDisplay<'_, BrightRed, Self>

Change the background color to bright red
Source§

fn bright_green(&self) -> FgColorDisplay<'_, BrightGreen, Self>

Change the foreground color to bright green
Source§

fn on_bright_green(&self) -> BgColorDisplay<'_, BrightGreen, Self>

Change the background color to bright green
Source§

fn bright_yellow(&self) -> FgColorDisplay<'_, BrightYellow, Self>

Change the foreground color to bright yellow
Source§

fn on_bright_yellow(&self) -> BgColorDisplay<'_, BrightYellow, Self>

Change the background color to bright yellow
Source§

fn bright_blue(&self) -> FgColorDisplay<'_, BrightBlue, Self>

Change the foreground color to bright blue
Source§

fn on_bright_blue(&self) -> BgColorDisplay<'_, BrightBlue, Self>

Change the background color to bright blue
Source§

fn bright_magenta(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright magenta
Source§

fn on_bright_magenta(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright magenta
Source§

fn bright_purple(&self) -> FgColorDisplay<'_, BrightMagenta, Self>

Change the foreground color to bright purple
Source§

fn on_bright_purple(&self) -> BgColorDisplay<'_, BrightMagenta, Self>

Change the background color to bright purple
Source§

fn bright_cyan(&self) -> FgColorDisplay<'_, BrightCyan, Self>

Change the foreground color to bright cyan
Source§

fn on_bright_cyan(&self) -> BgColorDisplay<'_, BrightCyan, Self>

Change the background color to bright cyan
Source§

fn bright_white(&self) -> FgColorDisplay<'_, BrightWhite, Self>

Change the foreground color to bright white
Source§

fn on_bright_white(&self) -> BgColorDisplay<'_, BrightWhite, Self>

Change the background color to bright white
Source§

fn bold(&self) -> BoldDisplay<'_, Self>

Make the text bold
Source§

fn dimmed(&self) -> DimDisplay<'_, Self>

Make the text dim
Source§

fn italic(&self) -> ItalicDisplay<'_, Self>

Make the text italicized
Source§

fn underline(&self) -> UnderlineDisplay<'_, Self>

Make the text underlined
Make the text blink
Make the text blink (but fast!)
Source§

fn reversed(&self) -> ReversedDisplay<'_, Self>

Swap the foreground and background colors
Source§

fn hidden(&self) -> HiddenDisplay<'_, Self>

Hide the text
Source§

fn strikethrough(&self) -> StrikeThroughDisplay<'_, Self>

Cross out the text
Source§

fn color<Color>(&self, color: Color) -> FgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the foreground color at runtime. Only use if you do not know which color will be used at compile-time. If the color is constant, use either OwoColorize::fg or a color-specific method, such as OwoColorize::green, Read more
Source§

fn on_color<Color>(&self, color: Color) -> BgDynColorDisplay<'_, Color, Self>
where Color: DynColor,

Set the background color at runtime. Only use if you do not know what color to use at compile-time. If the color is constant, use either OwoColorize::bg or a color-specific method, such as OwoColorize::on_yellow, Read more
Source§

fn fg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> FgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the foreground color to a specific RGB value.
Source§

fn bg_rgb<const R: u8, const G: u8, const B: u8>( &self, ) -> BgColorDisplay<'_, CustomColor<R, G, B>, Self>

Set the background color to a specific RGB value.
Source§

fn truecolor(&self, r: u8, g: u8, b: u8) -> FgDynColorDisplay<'_, Rgb, Self>

Sets the foreground color to an RGB value.
Source§

fn on_truecolor(&self, r: u8, g: u8, b: u8) -> BgDynColorDisplay<'_, Rgb, Self>

Sets the background color to an RGB value.
Source§

fn style(&self, style: Style) -> Styled<&Self>

Apply a runtime-determined style
Source§

impl<T> ParallelSend for T

Source§

impl<T> Pointable for T

Source§

const ALIGN: usize

The alignment of pointer.
Source§

type Init = T

The type for initializers.
Source§

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

Initializes a with the given initializer. Read more
Source§

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

Dereferences the given pointer. Read more
Source§

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

Mutably dereferences the given pointer. Read more
Source§

unsafe fn drop(ptr: usize)

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

impl<T> Same for T

Source§

type Output = T

Should always be Self
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> TryClone for T
where T: Clone,

Source§

fn try_clone(&self) -> Result<T, Error>

Clones self, possibly returning an error.
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