Skip to main content

LinkCommand

Enum LinkCommand 

Source
pub enum LinkCommand {
Show 37 variants Play { track_ids: Vec<String>, start_at: u32, position_ms: u64, paused: bool, handoff: bool, mode: QueueMode, }, Enqueue { track_ids: Vec<String>, }, PlayNext { track_ids: Vec<String>, }, Remove { track_ids: Vec<String>, }, Clear, Sync { full: bool, }, Evict { track_ids: Vec<String>, }, JumpTo { track_id: String, }, Seek { position_ms: u64, }, Pause, Resume, Next, Previous, PlayItem { id: String, }, RemoveItems { ids: Vec<String>, }, MoveItems { ids: Vec<String>, target: String, after: bool, }, Insert { track_ids: Vec<String>, after: String, }, Undo, Redo, Shuffle { on: bool, }, Repeat { mode: Repeat, }, SleepTimer { timer: Option<SleepTimer>, }, HandOff { to: String, }, Devices { devices: Vec<LinkDevice>, }, DeviceKeys { keys: Vec<LinkDeviceKey>, }, Shares { grantees: Vec<String>, error: Option<String>, accounts: Vec<String>, }, Shared { command: Box<LinkCommand>, }, Forgotten { device: String, }, HistoryChanged, DspProfilesChanged, SetOutput { output: OutputChoice, }, RefreshOutputs, SetRendererVolume { volume: u8, }, SetPreset { device: String, profile: Option<String>, }, WatchLevels { on: bool, }, Levels { from: String, f: Frame, }, Acked { from: String, ack: u64, outcome: AckOutcome, },
}
Expand description

What a server asks a linked client to do.

Variants§

§

Play

Replace the queue with these tracks and play from start_at, position_ms into it — or load it there paused, when paused.

Fields

§track_ids: Vec<String>
§start_at: u32
§position_ms: u64
§paused: bool
§handoff: bool

Sent by a device handing its music over. One that receives it while controlling another device takes control back: the music is here now, so this device is what the person is listening to. A plain play leaves control alone, so two devices can still control each other on purpose.

§mode: QueueMode

Whether to reset the play mode, as a play from a play button does. Absent, the modes are kept.

§

Enqueue

Append these tracks to the queue.

Fields

§track_ids: Vec<String>
§

PlayNext

Insert these tracks after the current one.

Fields

§track_ids: Vec<String>
§

Remove

Take every queue entry for these tracks out of the queue.

Fields

§track_ids: Vec<String>
§

Clear

§

Sync

Pull what the server has changed: library, favourites and playlists. The library is walked only if the server says it moved, unless full, which walks it regardless.

Fields

§full: bool
§

Evict

Delete the downloaded copies of these tracks, so the next play fetches them again: for a copy that was cached while the server’s was bad.

Fields

§track_ids: Vec<String>
§

JumpTo

Play this track: from where it sits in the queue, or slotted in after the current one when the queue does not hold it.

Fields

§track_id: String
§

Seek

Fields

§position_ms: u64
§

Pause

§

Resume

§

Next

§

Previous

§

PlayItem

Play this queue entry, by the id the device reported it under. Unlike JumpTo it names one entry of a track queued twice, and reaches a file only that device has.

Fields

§

RemoveItems

Fields

§

MoveItems

Move these queue entries before or after target, in the order given.

Fields

§target: String
§after: bool
§

Insert

Insert these tracks after the queue entry after.

Fields

§track_ids: Vec<String>
§after: String
§

Undo

§

Redo

§

Shuffle

Turn shuffle on or off. The queue keeps its order; shuffle picks which track yet to play this pass plays next.

Fields

§on: bool
§

Repeat

What follows a track at its end: off, queue or one.

Fields

§mode: Repeat
§

SleepTimer

Set the sleep timer, or with none cancel it.

Fields

§

HandOff

Send this device’s queue and playhead to the device to, as a play, and pause here. The device holding the queue does it, so taking music from another device and sending it there are one command.

Fields

§

Devices

The account’s other devices, as they are now. News rather than a command: sent whenever one of them changes, to links that asked for it.

Fields

§devices: Vec<LinkDevice>
§

DeviceKeys

The public keys the account’s devices, and devices shared with it, prove themselves with on the local network (koanDeviceKeys). News, as Devices is: sent when a device that registered a key links, and whenever the account’s keys change. From the server alone, never from the network: it is what the network’s claims are checked against.

Fields

§

Shares

The accounts this device lets control it. News, as Devices is: sent when it links and whenever the list changes.

Fields

§grantees: Vec<String>
§error: Option<String>

Why the last request to share or stop sharing was refused.

§accounts: Vec<String>

Every account on the server, to choose from.

§

Shared

command, sent by another account this device is shared with: run as that account’s request, from the playback set (allowed_playback).

Fields

§command: Box<LinkCommand>
§

Forgotten

device was forgotten: drop it, however it was last heard of. News, as Devices is.

Fields

§device: String
§

HistoryChanged

The account’s play history on the server moved: a play recorded or forgotten on one of its devices. The device reads what changed (remote::history::sync).

§

DspProfilesChanged

The account’s EQ profiles kept everywhere moved on the server: one changed or deleted on another of its devices. The device reads what changed (remote::dsp_sync::sync).

§

SetOutput

Play through this output from now on, carrying on from where the music is, as the device’s own output menu would.

Fields

§

RefreshOutputs

List the outputs again, and publish them if they moved: a controller has opened its output menu. Cheap, and answered by the link state.

§

SetRendererVolume

The volume of the renderer the device plays to, 0–100.

Fields

§volume: u8
§

SetPreset

Play the output device through the DSP profile profile, or untouched with None. A renderer is named by its UDN.

Fields

§device: String
§profile: Option<String>
§

WatchLevels

Send this device’s audio levels (LinkReport::Levels) while on: a controller has playing bars on screen. A device on the same network may ask; levels say no more than the now-playing it already sees.

Fields

§on: bool
§

Levels

A frame of the levels of from, a device this one watches, relayed by the server. News, like Devices.

Fields

§from: String
§

Acked

The device from answered the command this device sent it under ack: see remote::acks. Relayed by the server; news, like Levels.

Fields

§from: String
§ack: u64
§outcome: AckOutcome

Implementations§

Source§

impl LinkCommand

Source

pub fn allowed_playback(&self) -> bool

What a device that is not this account’s may have it do: play, pause, skip and seek, change the queue, jump, set the volume and the sleep timer, choose the output and the preset, and move the music here or away. What it asks for runs as the asker’s request, never with this account’s powers: nothing here changes the library, the config beyond the output in use, or the account’s favourites, playlists or history, and a track it names that the library lacks is not synced for (see CommandSource). For a device shared with another account, and one on the local network under Full control.

Source

pub fn from_the_network(&self, full: bool) -> Option<CommandSource>

How a command from a device on the local network runs here, if at all: with full control (this device’s setting) the playback set, as Nearby; without, a stranger’s narrower set, as Stranger.

Source

pub fn relayable(&self) -> bool

Whether a client may have the server relay this to another device: the commands one device gives another. The server’s own news (the device list, the device keys, shares, forgettings, history) it alone originates; relayed, a forged copy would read as the server’s. Levels go only between live links, by their own route. Exhaustive, so a new variant is relayable only once someone decides it is.

Source

pub fn live_only(&self) -> bool

Only worth saying to a device that is there to hear it: sent over a live route or not at all, never queued for an absent device and never a push to wake one.

Source

pub fn allowed_nearby(&self) -> bool

Whether a device on the same network, which may belong to anyone, may send this under Playback only. Playback and the queue; nothing that touches the library or the files on disk.

Where the sound goes is not playback: an output switch reaches into the room, and a preset into the config. Those are the account’s own.

Source

pub fn track_ids(&self) -> &[String]

The server’s ids for the tracks this command names, if any.

Source§

impl LinkCommand

Source

pub fn track_ids_mut(&mut self) -> Vec<&mut String>

Every track id the command carries, for translating between the server’s row ids and the uids it publishes.

Trait Implementations§

Source§

impl Clone for LinkCommand

Source§

fn clone(&self) -> Self

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 LinkCommand

Source§

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

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

impl<'de> Deserialize<'de> for LinkCommand

Source§

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

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

impl Eq for LinkCommand

Source§

impl From<LinkCommand> for Envelope

Source§

fn from(command: LinkCommand) -> Self

Converts to this type from the input type.
Source§

impl PartialEq for LinkCommand

Source§

fn eq(&self, other: &Self) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl Serialize for LinkCommand

Source§

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

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

impl StructuralPartialEq for LinkCommand

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<S, T> Duplex<S> for T
where T: FromSample<S> + ToSample<S>,

Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Checks if this value is equivalent to the given key. Read more
Source§

impl<Q, K> Equivalent<K> for Q
where Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,

Source§

fn equivalent(&self, key: &K) -> bool

Compare self to key and return true if they are equal.
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<S> FromSample<S> for S

Source§

fn from_sample_(s: S) -> S

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<F, T> IntoSample<T> for F
where T: FromSample<F>,

Source§

fn into_sample(self) -> T

Source§

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

Source§

fn fg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the foreground set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like red() and green(), which have the same functionality but are pithier.

§Example

Set foreground color to white using fg():

use yansi::{Paint, Color};

painted.fg(Color::White);

Set foreground color to white using white().

use yansi::Paint;

painted.white();
Source§

fn primary(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Primary].

§Example
println!("{}", value.primary());
Source§

fn fixed(&self, color: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Fixed].

§Example
println!("{}", value.fixed(color));
Source§

fn rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the fg() set to [Color :: Rgb].

§Example
println!("{}", value.rgb(r, g, b));
Source§

fn black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Black].

§Example
println!("{}", value.black());
Source§

fn red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Red].

§Example
println!("{}", value.red());
Source§

fn green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Green].

§Example
println!("{}", value.green());
Source§

fn yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Yellow].

§Example
println!("{}", value.yellow());
Source§

fn blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Blue].

§Example
println!("{}", value.blue());
Source§

fn magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Magenta].

§Example
println!("{}", value.magenta());
Source§

fn cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: Cyan].

§Example
println!("{}", value.cyan());
Source§

fn white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: White].

§Example
println!("{}", value.white());
Source§

fn bright_black(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlack].

§Example
println!("{}", value.bright_black());
Source§

fn bright_red(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightRed].

§Example
println!("{}", value.bright_red());
Source§

fn bright_green(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightGreen].

§Example
println!("{}", value.bright_green());
Source§

fn bright_yellow(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightYellow].

§Example
println!("{}", value.bright_yellow());
Source§

fn bright_blue(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightBlue].

§Example
println!("{}", value.bright_blue());
Source§

fn bright_magenta(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.bright_magenta());
Source§

fn bright_cyan(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightCyan].

§Example
println!("{}", value.bright_cyan());
Source§

fn bright_white(&self) -> Painted<&T>

Returns self with the fg() set to [Color :: BrightWhite].

§Example
println!("{}", value.bright_white());
Source§

fn bg(&self, value: Color) -> Painted<&T>

Returns a styled value derived from self with the background set to value.

This method should be used rarely. Instead, prefer to use color-specific builder methods like on_red() and on_green(), which have the same functionality but are pithier.

§Example

Set background color to red using fg():

use yansi::{Paint, Color};

painted.bg(Color::Red);

Set background color to red using on_red().

use yansi::Paint;

painted.on_red();
Source§

fn on_primary(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Primary].

§Example
println!("{}", value.on_primary());
Source§

fn on_fixed(&self, color: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Fixed].

§Example
println!("{}", value.on_fixed(color));
Source§

fn on_rgb(&self, r: u8, g: u8, b: u8) -> Painted<&T>

Returns self with the bg() set to [Color :: Rgb].

§Example
println!("{}", value.on_rgb(r, g, b));
Source§

fn on_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Black].

§Example
println!("{}", value.on_black());
Source§

fn on_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Red].

§Example
println!("{}", value.on_red());
Source§

fn on_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Green].

§Example
println!("{}", value.on_green());
Source§

fn on_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Yellow].

§Example
println!("{}", value.on_yellow());
Source§

fn on_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Blue].

§Example
println!("{}", value.on_blue());
Source§

fn on_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Magenta].

§Example
println!("{}", value.on_magenta());
Source§

fn on_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: Cyan].

§Example
println!("{}", value.on_cyan());
Source§

fn on_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: White].

§Example
println!("{}", value.on_white());
Source§

fn on_bright_black(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlack].

§Example
println!("{}", value.on_bright_black());
Source§

fn on_bright_red(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightRed].

§Example
println!("{}", value.on_bright_red());
Source§

fn on_bright_green(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightGreen].

§Example
println!("{}", value.on_bright_green());
Source§

fn on_bright_yellow(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightYellow].

§Example
println!("{}", value.on_bright_yellow());
Source§

fn on_bright_blue(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightBlue].

§Example
println!("{}", value.on_bright_blue());
Source§

fn on_bright_magenta(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightMagenta].

§Example
println!("{}", value.on_bright_magenta());
Source§

fn on_bright_cyan(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightCyan].

§Example
println!("{}", value.on_bright_cyan());
Source§

fn on_bright_white(&self) -> Painted<&T>

Returns self with the bg() set to [Color :: BrightWhite].

§Example
println!("{}", value.on_bright_white());
Source§

fn attr(&self, value: Attribute) -> Painted<&T>

Enables the styling Attribute value.

This method should be used rarely. Instead, prefer to use attribute-specific builder methods like bold() and underline(), which have the same functionality but are pithier.

§Example

Make text bold using attr():

use yansi::{Paint, Attribute};

painted.attr(Attribute::Bold);

Make text bold using using bold().

use yansi::Paint;

painted.bold();
Source§

fn bold(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Bold].

§Example
println!("{}", value.bold());
Source§

fn dim(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Dim].

§Example
println!("{}", value.dim());
Source§

fn italic(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Italic].

§Example
println!("{}", value.italic());
Source§

fn underline(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Underline].

§Example
println!("{}", value.underline());

Returns self with the attr() set to [Attribute :: Blink].

§Example
println!("{}", value.blink());

Returns self with the attr() set to [Attribute :: RapidBlink].

§Example
println!("{}", value.rapid_blink());
Source§

fn invert(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Invert].

§Example
println!("{}", value.invert());
Source§

fn conceal(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Conceal].

§Example
println!("{}", value.conceal());
Source§

fn strike(&self) -> Painted<&T>

Returns self with the attr() set to [Attribute :: Strike].

§Example
println!("{}", value.strike());
Source§

fn quirk(&self, value: Quirk) -> Painted<&T>

Enables the yansi Quirk value.

This method should be used rarely. Instead, prefer to use quirk-specific builder methods like mask() and wrap(), which have the same functionality but are pithier.

§Example

Enable wrapping using .quirk():

use yansi::{Paint, Quirk};

painted.quirk(Quirk::Wrap);

Enable wrapping using wrap().

use yansi::Paint;

painted.wrap();
Source§

fn mask(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Mask].

§Example
println!("{}", value.mask());
Source§

fn wrap(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Wrap].

§Example
println!("{}", value.wrap());
Source§

fn linger(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Linger].

§Example
println!("{}", value.linger());
Source§

fn clear(&self) -> Painted<&T>

👎Deprecated since 1.0.1:

renamed to resetting() due to conflicts with Vec::clear(). The clear() method will be removed in a future release.

Returns self with the quirk() set to [Quirk :: Clear].

§Example
println!("{}", value.clear());
Source§

fn resetting(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Resetting].

§Example
println!("{}", value.resetting());
Source§

fn bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: Bright].

§Example
println!("{}", value.bright());
Source§

fn on_bright(&self) -> Painted<&T>

Returns self with the quirk() set to [Quirk :: OnBright].

§Example
println!("{}", value.on_bright());
Source§

fn whenever(&self, value: Condition) -> Painted<&T>

Conditionally enable styling based on whether the Condition value applies. Replaces any previous condition.

See the crate level docs for more details.

§Example

Enable styling painted only when both stdout and stderr are TTYs:

use yansi::{Paint, Condition};

painted.red().on_yellow().whenever(Condition::STDOUTERR_ARE_TTY);
Source§

fn new(self) -> Painted<Self>
where Self: Sized,

Create a new Painted with a default Style. Read more
Source§

fn paint<S>(&self, style: S) -> Painted<&Self>
where S: Into<Style>,

Apply a style wholesale to self. Any previous style is replaced. Read more
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> PolicyExt for T
where T: ?Sized,

Source§

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

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
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, U> ToSample<U> for T
where U: FromSample<T>,

Source§

fn to_sample_(self) -> U

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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