Skip to main content

AudioNode

Enum AudioNode 

Source
pub enum AudioNode {
Show 27 variants Vco { wave: Waveform, octave: i8, detune: f64, mod_depth: f64, modulation: ModNode, uid: Uid, }, Supersaw { octave: i8, detune: f64, mix: f64, mod_depth: f64, modulation: ModNode, uid: Uid, }, Noise { color: NoiseColor, uid: Uid, }, Wavetable { table: TableShape, octave: i8, morph: f64, mod_depth: f64, modulation: ModNode, uid: Uid, }, Pluck { octave: i8, damping: f64, brightness: f64, mod_depth: f64, modulation: ModNode, uid: Uid, }, Formant { vowel: f64, shift: f64, octave: i8, mod_depth: f64, modulation: ModNode, uid: Uid, }, Silence { uid: Uid, }, Mix { balance: f64, a: Box<AudioNode>, b: Box<AudioNode>, uid: Uid, }, Filter { kind: FilterKind, cutoff: f64, resonance: f64, mod_depth: f64, input: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Fold { threshold: f64, mod_depth: f64, input: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Delay { time: f64, feedback: f64, mix: f64, mod_depth: f64, input: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Chorus { rate: f64, depth: f64, mix: f64, mod_depth: f64, input: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Reverb { size: f64, damp: f64, mix: f64, mod_depth: f64, input: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Distortion { drive: f64, tone: f64, mode: DriveMode, mod_depth: f64, input: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Bitcrush { bits: f64, downsample: f64, mod_depth: f64, input: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Phaser { rate: f64, depth: f64, feedback: f64, mod_depth: f64, input: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Flanger { rate: f64, depth: f64, feedback: f64, mod_depth: f64, input: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Tremolo { rate: f64, depth: f64, shape: f64, mod_depth: f64, input: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Vibrato { rate: f64, depth: f64, mix: f64, mod_depth: f64, input: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Eq { low: f64, mid: f64, high: f64, mod_depth: f64, input: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Granular { position: f64, size: f64, density: f64, mod_depth: f64, input: Box<AudioNode>, modulation: ModNode, uid: Uid, }, RingMod { mix: f64, a: Box<AudioNode>, b: Box<AudioNode>, uid: Uid, }, Shift { semis: f64, window: f64, mix: f64, mod_depth: f64, input: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Comp { threshold: f64, ratio: f64, makeup: f64, mod_depth: f64, input: Box<AudioNode>, sidechain: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Duck { amount: f64, threshold: f64, release: f64, mod_depth: f64, input: Box<AudioNode>, key: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Gate { threshold: f64, range: f64, release: f64, mod_depth: f64, input: Box<AudioNode>, sidechain: Box<AudioNode>, modulation: ModNode, uid: Uid, }, Vocoder { bands: f64, attack: f64, release: f64, mod_depth: f64, carrier: Box<AudioNode>, modulator: Box<AudioNode>, modulation: ModNode, uid: Uid, },
}
Expand description

An audio-sort term: sources at the leaves, processors and mixers above.

Variants§

§

Vco

Band-limited analog-style oscillator.

Its modulation slot lands on pitch, not on a timbre parameter — the one destination no other module in the grammar can offer, and the reason vibrato and pitch envelopes exist at all here. See [crate::compile]’s wire_pitch.

mod_depth/modulation are #[serde(default)] for the reason spelled out on AudioNode::Delay, and more urgently: a vco is in every saved patch, so without the defaults no session on disk deserializes at all.

Fields

§wave: Waveform

Output waveform.

§octave: i8

Octave offset, −2..=+2.

§detune: f64

Normalized detune (0-1 → ±50 cents).

§mod_depth: f64

Normalized pitch-modulation depth (0-1 → ±0.5 octave). Absent in pre-2A saves; defaults to 0, i.e. no pitch modulation.

§modulation: ModNode

Pitch modulation source. Absent in pre-2A saves.

§uid: Uid

Stable identity for this node; see Uid.

§

Supersaw

Seven-voice detuned saw stack with sub oscillator.

Fields

§octave: i8

Octave offset, −2..=+2.

§detune: f64

Normalized voice detune spread (0-1).

§mix: f64

Normalized center/stack blend (0-1).

§mod_depth: f64

Normalized pitch-modulation depth (0-1 → ±0.5 octave). Absent in pre-2A saves — see AudioNode::Vco.

§modulation: ModNode

Pitch modulation source. Absent in pre-2A saves.

§uid: Uid

Stable identity for this node; see Uid.

§

Noise

Noise source.

Fields

§color: NoiseColor

Noise color.

§uid: Uid

Stable identity for this node; see Uid.

§

Wavetable

Morphing wavetable oscillator: eight bandlimited tables, crossfaded.

It has no detune — the faceplate budget is four knobs and morph is the reason this module exists, so detune loses. The compiler still routes pitch through the usual offset, pinned at “no detune”.

Fields

§table: TableShape

Base table.

§octave: i8

Octave offset, −2..=+2.

§morph: f64

Normalized morph toward the next table (0-1).

§mod_depth: f64

Normalized modulation depth (0-1, cable attenuation).

§modulation: ModNode

Morph modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Pluck

Karplus-Strong plucked string, retriggered by the note gate.

Fields

§octave: i8

Octave offset, −2..=+2.

§damping: f64

Normalized loop damping (0-1; higher rings longer and brighter).

§brightness: f64

Normalized excitation brightness (0-1, noise-vs-impulse blend).

§mod_depth: f64

Normalized modulation depth (0-1).

§modulation: ModNode

Damping modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Formant

Formant (vocal-tract) oscillator: a glottal pulse through five parallel resonators.

vowel is a continuous position interpolated across A/E/I/O/U rather than a five-way switch, which is what makes it worth a modulation slot: sweeping it moves the formant peaks, and that is a spectral movement φ’s centroid and rolloff coordinates measure directly.

Fields

§vowel: f64

Normalized vowel position (0-1 across A/E/I/O/U).

§shift: f64

Normalized formant shift (0-1 → 0.5×..2× formant frequencies; 0.5 is no shift).

§octave: i8

Octave offset, −2..=+2.

§mod_depth: f64

Normalized modulation depth (0-1).

§modulation: ModNode

Vowel modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Silence

A source that makes no sound.

The seventh source leaf, and the only one a player can mean literally: an unplugged socket. Before this existed the rack drew a dashed EMPTY plate over a substitute Vco, so the plate was honest and the patch underneath was not — the model was taught on a tree containing a source the player believed was silent, and every φ coordinate measured a render that had it in.

It carries no parameters, which makes it the only source whose whole genome is #leaf and #src. Its prior weight is deliberately tiny (see PatchGrammarPrior::source_weights) but not zero: at zero the grammar gives p = 0 to any tree containing one, the Boltzmann target is −∞, and MH rejects every proposal touching a hand-made hole — so unplugging a socket would quietly make a patch un-evolvable. Small and nonzero instead means a Silence-only tree renders silent, the vet gate quarantines it, and evolution learns to avoid it. That is a path rather than a wall, and it is the designed one.

Appended after Formant on purpose: #src is a categorical whose index is what a saved trace stores, so a new kind may only ever be added at the end. Inserting one here would silently re-point every persisted genome at a different oscillator.

Fields

§uid: Uid

Stable identity for this node; see Uid.

§

Mix

Equal-power crossfade of two audio terms.

Fields

§balance: f64

Normalized balance (0 = all a, 1 = all b).

§a: Box<AudioNode>

First input.

§b: Box<AudioNode>

Second input.

§uid: Uid

Stable identity for this node; see Uid.

§

Filter

A filter over an audio term, with an optional cutoff modulation.

Fields

§kind: FilterKind

Which filter.

§cutoff: f64

Normalized cutoff (0-1, exponential inside quiver).

§resonance: f64

Normalized resonance (0-1, mapped to a bounded range).

§mod_depth: f64

Normalized modulation depth (0-1, cable attenuation).

§input: Box<AudioNode>

Audio input.

§modulation: ModNode

Cutoff modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Fold

Wavefolder over an audio term, with optional threshold modulation.

Fields

§threshold: f64

Normalized fold threshold (0-1; lower folds harder).

§mod_depth: f64

Normalized modulation depth (0-1).

§input: Box<AudioNode>

Audio input.

§modulation: ModNode

Threshold modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Delay

Delay line over an audio term, with optional delay-time modulation.

mod_depth and modulation are #[serde(default)] because this variant shipped without them: the v2 palette added a modulation slot to a module users already have saved patches of. Serde requires every field of a struct variant unless told otherwise, so without the defaults a single v1-era delay anywhere in a bank fails the SessionState deserialize — and that failure is not local to the patch, it takes the whole save down: bank, observation log, lineage. A grammar that grows knobs on existing modules must default them, and the defaults must be the v1 behaviour (depth 0, no source), so a restored patch sounds like the one that was saved. Same for AudioNode::Chorus and AudioNode::Reverb. The variants the v2 palette introduced (wavetable, pluck, distortion, bitcrush, phaser, ring mod) need no such treatment: no old save can contain one.

Fields

§time: f64

Normalized delay time (0-1).

§feedback: f64

Normalized feedback (0-1, mapped to a bounded range).

§mix: f64

Normalized wet/dry mix (0-1).

§mod_depth: f64

Normalized modulation depth (0-1). Absent in v1 saves; defaults to 0, which is “no modulation reaches the delay time”.

§input: Box<AudioNode>

Audio input.

§modulation: ModNode

Delay-time modulation source. Absent in v1 saves; defaults to ModNode::None.

§uid: Uid

Stable identity for this node; see Uid.

§

Chorus

Chorus over an audio term, with optional depth modulation.

Fields

§rate: f64

Normalized modulation rate (0-1).

§depth: f64

Normalized modulation depth (0-1).

§mix: f64

Normalized wet/dry mix (0-1).

§mod_depth: f64

Normalized modulation depth of the modulation slot (0-1). Absent in v1 saves — see AudioNode::Delay.

§input: Box<AudioNode>

Audio input.

§modulation: ModNode

Chorus-depth modulation source. Absent in v1 saves.

§uid: Uid

Stable identity for this node; see Uid.

§

Reverb

Algorithmic reverb (Freeverb) over an audio term, with optional size modulation.

Fields

§size: f64

Normalized room size (0-1).

§damp: f64

Normalized damping (0-1).

§mix: f64

Normalized wet/dry mix (0-1).

§mod_depth: f64

Normalized modulation depth (0-1). Absent in v1 saves — see AudioNode::Delay.

§input: Box<AudioNode>

Audio input.

§modulation: ModNode

Room-size modulation source. Absent in v1 saves.

§uid: Uid

Stable identity for this node; see Uid.

§

Distortion

Waveshaping distortion over an audio term.

Fields

§drive: f64

Normalized drive (0-1).

§tone: f64

Normalized tone (0-1; a real one-pole lowpass, dark to open).

§mode: DriveMode

Shaping curve.

§mod_depth: f64

Normalized modulation depth (0-1).

§input: Box<AudioNode>

Audio input.

§modulation: ModNode

Drive modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Bitcrush

Bit-depth and sample-rate reduction over an audio term.

Fields

§bits: f64

Normalized bit depth (0-1 → 1..16 bits).

§downsample: f64

Normalized sample-rate reduction (0-1).

§mod_depth: f64

Normalized modulation depth (0-1).

§input: Box<AudioNode>

Audio input.

§modulation: ModNode

Bit-depth modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Phaser

Swept allpass phaser over an audio term.

Fields

§rate: f64

Normalized sweep rate (0-1).

§depth: f64

Normalized sweep depth (0-1).

§feedback: f64

Normalized resonance feedback (0-1, mapped bipolar and bounded).

§mod_depth: f64

Normalized modulation depth (0-1).

§input: Box<AudioNode>

Audio input.

§modulation: ModNode

Sweep-depth modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Flanger

Flanging comb over an audio term: a 1–10 ms swept delay against the dry signal, with signed feedback. Stereo — its spread decorrelates the two sweeps, exactly as the phaser’s does.

Fields

§rate: f64

Normalized sweep rate (0-1).

§depth: f64

Normalized sweep depth (0-1).

§feedback: f64

Normalized feedback (0-1, mapped bipolar and bounded — the sign is a timbre, as on the phaser).

§mod_depth: f64

Normalized modulation depth (0-1).

§input: Box<AudioNode>

Audio input.

§modulation: ModNode

Sweep-depth modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Tremolo

Amplitude modulation over an audio term, sine-to-triangle.

Fields

§rate: f64

Normalized LFO rate (0-1).

§depth: f64

Normalized depth (0-1).

§shape: f64

Normalized waveform blend (0 = sine, 1 = triangle).

§mod_depth: f64

Normalized modulation depth (0-1).

§input: Box<AudioNode>

Audio input.

§modulation: ModNode

Depth modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Vibrato

Pitch wobble over an audio term (a modulated delay read).

The distinction from AudioNode::Chorus is mix: a half-wet vibrato is a chorus, because the dry and the pitch-shifted copies beat against each other. This module earns its place by running wet.

Fields

§rate: f64

Normalized LFO rate (0-1).

§depth: f64

Normalized depth (0-1).

§mix: f64

Normalized wet/dry mix (0-1; 1 is the module’s own idiom).

§mod_depth: f64

Normalized modulation depth (0-1).

§input: Box<AudioNode>

Audio input.

§modulation: ModNode

Depth modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Eq

Three-band tone control over an audio term (low shelf, parametric mid, high shelf), each ±12 dB with unity at the knob’s centre.

Fields

§low: f64

Normalized low-shelf gain (0-1; 0.5 is 0 dB).

§mid: f64

Normalized mid-bell gain (0-1; 0.5 is 0 dB).

§high: f64

Normalized high-shelf gain (0-1; 0.5 is 0 dB).

§mod_depth: f64

Normalized modulation depth (0-1).

§input: Box<AudioNode>

Audio input.

§modulation: ModNode

Mid-gain modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Granular

Granular re-reading of an audio term: overlapping Hann-windowed grains taken from a rolling buffer of what the input just played.

Fields

§position: f64

Normalized playback position in the buffer (0-1).

§size: f64

Normalized grain size (0-1 → 10..500 ms).

§density: f64

Normalized grain density (0-1 → 1..20 grains/second).

§mod_depth: f64

Normalized modulation depth (0-1).

§input: Box<AudioNode>

Audio input.

§modulation: ModNode

Position modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

RingMod

Ring modulation of two audio terms, crossfaded against the dry carrier. The grammar’s second binary node.

Fields

§mix: f64

Normalized dry/ring balance (0 = all carrier, 1 = all ring).

§a: Box<AudioNode>

Carrier (also the dry side of the crossfade).

§b: Box<AudioNode>

Modulator.

§uid: Uid

Stable identity for this node; see Uid.

§

Shift

Grain-based pitch shifter over an audio term: two Hann-windowed grains read from a rolling buffer at a resampled rate.

Unary, unlike the four modules below it. Wave one cut it alongside the compressor and the vocoder on the belief that it needed a second audio input; it does not — quiver’s PitchShifter is in/shift/window/ mix, one signal in and one out.

Fields

§semis: f64

Normalized transposition (0-1; 0.5 is unison, the ends are ∓12 semitones).

§window: f64

Normalized grain window (0-1 → 10..100 ms).

§mix: f64

Normalized wet/dry mix (0-1).

§mod_depth: f64

Normalized modulation depth (0-1).

§input: Box<AudioNode>

Audio input.

§modulation: ModNode

Transposition modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Comp

Compressor whose detector runs on a second audio term: the grammar’s third binary node, and the first whose /1 branch is heard only as a control.

The four binary nodes below all follow AudioNode::Mix’s child order: /0 is the signal you hear, /1 the signal that shapes it.

Fields

§threshold: f64

Normalized threshold (0-1 → 0..5 V of detector level).

§ratio: f64

Normalized ratio (0-1 → 1:1..20:1).

§makeup: f64

Normalized makeup gain (0-1 → 1×..4×).

§mod_depth: f64

Normalized modulation depth (0-1).

§input: Box<AudioNode>

The signal being compressed.

§sidechain: Box<AudioNode>

The signal the detector listens to.

§modulation: ModNode

Threshold modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Duck

Ducker: a key signal pulls the main signal down, in proportion to how far the key’s envelope sits above the threshold.

The difference from AudioNode::Comp is what the gain reduction is proportional to — a compressor reduces by the excess over the threshold in dB, a ducker by the key’s level relative to it, up to a fixed depth. That is the sidechain-pump gesture rather than dynamics control, and it is the one people actually reach for.

Fields

§amount: f64

Normalized duck depth (0-1; 1 is full attenuation on a loud key).

§threshold: f64

Normalized key level for full ducking (0-1 → 0..5 V).

§release: f64

Normalized recovery time (0-1 → 10..1000 ms).

§mod_depth: f64

Normalized modulation depth (0-1).

§input: Box<AudioNode>

The signal being ducked.

§key: Box<AudioNode>

The key that ducks it.

§modulation: ModNode

Duck-amount modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Gate

Noise gate keyed by a second audio term.

Fields

§threshold: f64

Normalized open threshold (0-1 → 0..5 V of detector level).

§range: f64

Normalized gate range (0-1; 1 closes to silence, 0 is a no-op).

§release: f64

Normalized release time (0-1 → 10..500 ms).

§mod_depth: f64

Normalized modulation depth (0-1).

§input: Box<AudioNode>

The signal being gated.

§sidechain: Box<AudioNode>

The signal that opens the gate.

§modulation: ModNode

Threshold modulation source.

§uid: Uid

Stable identity for this node; see Uid.

§

Vocoder

Vocoder: a bank of bandpass filters whose per-band envelopes are taken from the modulator and imposed on the carrier.

Both branches are audible in the sense that both shape the output, but only the carrier’s waveform reaches it — the modulator contributes its spectral envelope and nothing else, which is why /1 is still the control side under this family’s child-order convention.

Fields

§bands: f64

Normalized band count (0-1 → 4..16 bands).

§attack: f64

Normalized envelope attack (0-1 → 10..200 ms).

§release: f64

Normalized envelope release (0-1 → 10..200 ms).

§mod_depth: f64

Normalized modulation depth (0-1).

§carrier: Box<AudioNode>

The signal that is spectrally shaped (wants harmonic richness).

§modulator: Box<AudioNode>

The signal whose spectrum is measured (wants formants).

§modulation: ModNode

Band-count modulation source.

§uid: Uid

Stable identity for this node; see Uid.

Implementations§

Source§

impl AudioNode

Source

pub fn uid(&self) -> Uid

This node’s stable identity (Uid::NEW until the tree is settled).

Source

pub fn set_uid(&mut self, id: Uid)

Overwrite this node’s identity. Only the settling and inheritance passes have any business calling this.

Source

pub fn children(&self) -> Vec<&AudioNode>

Audio children in key-index order — the same /0, /1 order mutate::child_mut, describe and genome all use, so index i here and the key segment i there address the same node.

Source

pub fn children_mut(&mut self) -> Vec<&mut AudioNode>

Mutable Self::children.

Source

pub fn modulation(&self) -> Option<&ModNode>

The modulation term hanging off this node’s one mod slot, if the module has one (Mix, RingMod, Noise and Shift do not).

Source

pub fn modulation_mut(&mut self) -> Option<&mut ModNode>

Source

pub fn depth(&self) -> usize

Tree depth (a source leaf is depth 1).

Source

pub fn size(&self) -> usize

Number of audio nodes in the tree.

Source

pub fn site_count(&self) -> usize

Number of probabilistic-choice sites in this subtree (including the structural #leaf/#src/#op sites and any modulation subterm).

Source

pub fn to_sexpr(&self) -> String

Compact s-expression rendering for logs and tests.

Trait Implementations§

Source§

impl Clone for AudioNode

Source§

fn clone(&self) -> AudioNode

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 AudioNode

Source§

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

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

impl<'de> Deserialize<'de> for AudioNode

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 PartialEq for AudioNode

Source§

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

Tests for self and other values to be equal, and is used by ==.
1.0.0 (const: unstable) · Source§

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

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Serialize for AudioNode

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 AudioNode

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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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> 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> 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<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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

§

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