Skip to main content

AplicacaoIntent

Struct AplicacaoIntent 

Source
pub struct AplicacaoIntent {
    pub chart_ref: String,
    pub version: String,
    pub profile: String,
    pub values_overlay: Value,
    pub release_name: Option<String>,
    pub target_namespace: Option<String>,
    pub install_timeout: Option<String>,
}
Expand description

Aplicacao intent — emit a FluxCD HelmRelease for a pleme-io typed Aplicacao chart. The chart owns its own sub-chart DAG; the reconciler only watches HelmRelease.status.conditions[type=Ready].

This is the canonical handoff from caixa (defaplicacao …) declarations (which the typescape renders to this Intent) into in-cluster reconciliation. Closed-loop ephemeral test environments use this variant with :lifetime :ephemeral on the surrounding ProcessSpec.

Example (Lisp):

:intent (:aplicacao
          (:chart-ref "oci://ghcr.io/pleme-io/charts/lareira-demo-app"
           :version "0.5.5"
           :profile "all-in-one"
           :values-overlay (:cluster (:name "ephemeral-test-01")
                            :persistence false
                            :compliance (:overlays []))))

Fields§

§chart_ref: String

Helm chart reference. OCI (oci://…) or repo-relative (pleme-io/lareira-demo-app).

§version: String

Chart version (Helm semver constraint; ">=0.5.5" allowed).

§profile: String

Architecture profile from the chart’s values/*.yaml family (e.g. all-in-one, saas-internal). Leave empty to use chart defaults.

§values_overlay: Value

Typed values overlay merged on top of the profile. Free-form JSON to keep tatara-process decoupled from chart schemas.

§release_name: Option<String>

HelmRelease name override. Defaults to the Process’s PID-derived name.

§target_namespace: Option<String>

Target namespace for the chart. Defaults to the Process’s namespace.

§install_timeout: Option<String>

Install timeout (humantime duration). Empty = chart-controller default.

Implementations§

Source§

impl AplicacaoIntent

Source

pub fn chart_only( chart_ref: impl Into<String>, version: impl Into<String>, ) -> Self

Chart-pointer-only composer — the canonical minimal AplicacaoIntent every fixture and default-shape callsite restated pre-lift by binding only (chart_ref, version) and leaving every remaining slot at its K8s-schema-default value (profile = "", values_overlay = Value::Null, release_name = target_namespace = install_timeout = None).

Pre-lift the 7-slot struct-literal was hand-authored at 14 workspace-wide sites past the ★★ PRIME-DIRECTIVE ≥ 2 duplication threshold, each restating the SAME 5-slot default tail after a caller-varying (chart_ref, version) pair:

  • tatara-process — 10 sites across lib.rs (3× empty_template in the ephemeral-spec / matrix / observer test blocks), lifetime_clock.rs (2× the ephemeral / permanent Process composer helpers), tagged_union.rs (1× the IntentKind::Aplicacao sample-intent arm), pool.rs (1× empty_template), and intent.rs (3× the helm_intent helper + the aplicacao_plus_flux_is_ambiguous fixture + the IntentKind::Aplicacao sample-intent-for arm).
  • tatara-pool-reconciler — 4 sites across router.rs, pool_decide.rs, desired.rs, allocation_decide.rs (all empty_template fixtures seeding the pool + allocation convergence-decision test batteries).
  • tatara-reconciler — 1 site in render.rs (helmrepository_chartref_for_non_oci production-shape fixture stamping the non-OCI chart-ref render path).

All 14 sites walked the SAME 5-slot default tail — differing only in the caller-varying chart_ref / version values ("oci://x" / "1" on the majority test-fixture slice, "oci://ghcr.io/x" / "0.1.0" on the IntentKind sample, "pleme-io/lareira-demo-app" / "0.5.5" on the non-OCI render pin). Post-lift each callsite reads AplicacaoIntent::chart_only(chart, version) and the 5-slot default tail lives at ONE substrate owner.

The impl Into<String> argument form matches the pre-lift call shape — every site that spelled "oci://x".into() + "1".into() in the struct-literal continues to compile unchanged, and callers with a live String (e.g. reading from a caller-supplied fixture parameter) pass it through without a .to_string() re-wrap.

Return-form axis: AplicacaoIntent — the owned typed value every consumer’s downstream Intent { aplicacao: Some(...), .. } / EphemeralSpec { aplicacao: ..., .. } binding stamps verbatim, matching the pre-lift 7-slot struct-literal’s return shape exactly. The five default-tail slots reify the K8s schema’s own defaults (profile empty ⇒ chart profile default; values_overlay = Null ⇒ pass-through; three None slots ⇒ server / chart-computed) so no consumer inherits a semantic change from the lift.

A future normalization of the “minimal AplicacaoIntent” default — an added struct field with its own K8s-schema default, a tightening of a None slot to a substrate-owned default value, a per-workspace-default install_timeout override — lands at THIS ONE substrate primitive and every downstream fixture / default-shape consumer inherits the upgrade mechanically — no per-site edit at any of the 14 listed callers or at future consumers (a new pool-shard-flavor fixture, a new intent-axis convergence probe, a per-tenant AplicacaoIntent minimal seed).

Peer to Self::helm_lifecycle_policy + Self::flux_reconcile_interval on the (COMPOSE, DERIVE) axis: chart_only is the WRITE-side composer (stamp a minimal AplicacaoIntent); the lifecycle + interval methods are the READ-side derivers (project a substrate-default Flux policy / cadence off an AplicacaoIntent). The three primitives partition the AplicacaoIntent compose × derive surface at the substrate.

Theory anchor: THEORY.md §VI.1 (generation over composition — the 5-slot default tail recurred at 14 hand-authored sites past the ★★ PRIME-DIRECTIVE ≥ 2 duplication trigger, spanning three workspace crates, and is lifted onto the ONE workspace- wide substrate owner here). THEORY.md §II.1 invariant 5 (composition preserves proofs — the pin block below binds the primitive at fail-before-pass-after granularity so a regression that drifted any of the five default-tail slots surfaces at THESE pins rather than as silent fixture skew across the 14 downstream consumers).

Source

pub fn release_name_or(&self, fallback: &str) -> String

Effective HelmRelease name — the operator-supplied Self::release_name override when set, else the caller- supplied fallback (canonically the Process’s PID-derived name at the reconciler’s render_aplicacao site, and the enclosing matrix env’s NamedEphemeral.name at the matrix breathe_bands site — both are the Process’s own name).

Pre-lift the pattern was hand-authored at 2 workspace-wide sites past the ★★ PRIME-DIRECTIVE ≥ 2 duplication threshold, each restating the SAME Option::clone().unwrap_or_else(|| fallback.into()) chain differing only in the caller-varying fallback slot:

  • tatara-reconciler::render::render_aplicacao — the HelmRelease.spec.releaseName slot on the Flux-owned release the reconciler emits per Helm-driven Process.
  • tatara-process::matrix::EnvMatrixSpec::breathe_bands — the spec.targetRef.name slot on the breathe Band CRs the matrix sweep emits per generated env × dimension.

Post-lift both sites read a.release_name_or(fallback) and the fallback-composition shape lives at ONE substrate owner. A future tightening — a workspace-wide default seeded off the PID, a fallback shape derived off Self::chart_ref, a validation that the fallback is a DNS-1123 label — lands at THIS ONE primitive.

Peer to Self::target_namespace_or on the same (release, namespace) axis: both project one operator-optional override-or-fallback slot the reconciler + matrix consume in lock-step.

Source

pub fn target_namespace_or(&self, fallback: &str) -> String

Effective HelmRelease target namespace — the operator-supplied Self::target_namespace override when set, else the caller- supplied fallback (canonically the Process’s own namespace at the reconciler’s render_aplicacao site, and the enclosing matrix env’s NamedEphemeral.name at the matrix breathe_bands site).

Peer to Self::release_name_or — same substrate-owner motivation, same 2-site collapse. Post-lift both consumers read a.target_namespace_or(fallback) and the Option::clone().unwrap_or_else(|| fallback.into()) shape lives at ONE primitive here.

Source

pub fn helm_lifecycle_policy(&self) -> HelmLifecyclePolicy

Derive the Flux HelmRelease.spec.{install,upgrade} policy this intent publishes on BOTH slots. Pre-lift the reconciler’s render_aplicacao restated the shape by hand via two adjacent identical json! blocks (install and upgrade); post-lift both slots ride through this ONE composer. A future two-slot split (distinct install vs upgrade policies) lands as a two-method pair here, not at the render callsite.

Source

pub fn flux_reconcile_interval(&self) -> String

Derive the Flux reconcile-loop cadence this intent publishes on BOTH OCIRepository.spec.interval (source-controller poll) and HelmRelease.spec.interval (helm-controller re-reconcile). Pre-lift the reconciler’s render_aplicacao restated the value via two adjacent hand-authored "5m" string literals past the ★★ PRIME-DIRECTIVE ≥ 2 duplication threshold; post-lift both slots ride through this ONE composer. A future divergence (distinct per-slot cadences, a per-intent override field, a two-slot method returning a FluxReconcileIntervals shape) lands at ONE method here, not at the render callsites.

Sibling composer to Self::helm_lifecycle_policy: both return the substrate-default shape a Helm-driven Process publishes on the Flux resources render_aplicacao emits, keyed off the same AplicacaoIntent.

Trait Implementations§

Source§

impl Clone for AplicacaoIntent

Source§

fn clone(&self) -> AplicacaoIntent

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 AplicacaoIntent

Source§

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

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

impl<'de> Deserialize<'de> for AplicacaoIntent

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 JsonSchema for AplicacaoIntent

Source§

fn schema_name() -> String

The name of the generated JSON Schema. Read more
Source§

fn schema_id() -> Cow<'static, str>

Returns a string that uniquely identifies the schema produced by this type. Read more
Source§

fn json_schema(generator: &mut SchemaGenerator) -> Schema

Generates a JSON Schema for this type. Read more
Source§

fn is_referenceable() -> bool

Whether JSON Schemas generated for this type should be re-used where possible using the $ref keyword. Read more
Source§

impl Serialize for AplicacaoIntent

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

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> AppData for T
where T: OptionalSend + OptionalSync + 'static + OptionalSerde,

Source§

impl<T> AppDataResponse for T
where T: OptionalSend + OptionalSync + 'static + OptionalSerde,

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<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
where ST: ?Sized, DT: ?Sized,

Source§

impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
where ST: ?Sized, DT: ?Sized,

Source§

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

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,

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<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> 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<T> OptionalSend for T
where T: Send + ?Sized,

Source§

impl<T> OptionalSync for T
where T: Sync + ?Sized,

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> Read<Exclusive, BecauseExclusive> for T
where T: ?Sized,

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> 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<V, T> VZip<V> for T
where V: MultiLane<T>,

Source§

fn vzip(self) -> V

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