Skip to main content

FittedModelPayload

Struct FittedModelPayload 

Source
pub struct FittedModelPayload {
Show 100 fields pub version: u32, pub formula: String, pub model_kind: ModelKind, pub family_state: FittedFamily, pub family: String, pub estimator: FittedEstimator, pub inference_notes: Vec<String>, pub basis_adequacy: Vec<BasisAdequacyRow>, pub used_device: bool, pub fit_result: Option<UnifiedFitResult>, pub unified: Option<UnifiedFitResult>, pub spline_scan: Option<SavedSplineScan>, pub residual_cascade: Option<SavedResidualCascade>, pub data_schema: Option<DataSchema>, pub link: Option<InverseLink>, pub mixture_link_param_covariance: Option<Vec<Vec<f64>>>, pub sas_param_covariance: Option<Vec<Vec<f64>>>, pub formula_noise: Option<String>, pub formula_logslope: Option<String>, pub formula_logslopes: Option<Vec<String>>, pub offset_column: Option<String>, pub noise_offset_column: Option<String>, pub weight_column: Option<String>, pub beta_noise: Option<Vec<f64>>, pub noise_projection: Option<Vec<Vec<f64>>>, pub noise_center: Option<Vec<f64>>, pub noise_scale: Option<Vec<f64>>, pub noise_non_intercept_start: Option<usize>, pub noise_projection_ridge_alpha: Option<f64>, pub gaussian_response_scale: Option<f64>, pub linkwiggle_knots: Option<Vec<f64>>, pub linkwiggle_degree: Option<usize>, pub linkwiggle_penalty_metadata: Option<WigglePenaltyMetadata>, pub beta_link_wiggle: Option<Vec<f64>>, pub link_wiggle_index_shift: Option<Vec<f64>>, pub baseline_timewiggle_knots: Option<Vec<f64>>, pub baseline_timewiggle_degree: Option<usize>, pub baseline_timewiggle_penalty_orders: Option<Vec<usize>>, pub baseline_timewiggle_double_penalty: Option<bool>, pub beta_baseline_timewiggle: Option<Vec<f64>>, pub beta_baseline_timewiggle_by_cause: Option<Vec<Vec<f64>>>, pub z_column: Option<String>, pub z_columns: Option<Vec<String>>, pub latent_z_normalization: Option<SavedLatentZNormalization>, pub latent_score_contract: Option<SavedLatentScoreContract>, pub latent_measure: Option<LatentMeasureKind>, pub latent_z_rank_int_calibration: Option<LatentZRankIntCalibration>, pub latent_z_conditional_calibration: Option<LatentZConditionalCalibration>, pub marginal_baseline: Option<f64>, pub logslope_baseline: Option<f64>, pub logslope_baselines: Option<Vec<f64>>, pub logslope_time_basis: Option<SurvivalCovariateTimeBasis>, pub score_warp_runtime: Option<SavedCompiledFlexBlock>, pub link_deviation_runtime: Option<SavedCompiledFlexBlock>, pub influence_absorber_width: Option<usize>, pub influence_absorber_design: Option<Vec<Vec<f64>>>, pub survival_marginal_slope_score_covariance: Option<Vec<Vec<f64>>>, pub survival_entry: Option<String>, pub survival_exit: Option<String>, pub survival_event: Option<String>, pub survivalspec: Option<String>, pub survival_cause_count: Option<usize>, pub survival_endpoint_names: Option<Vec<String>>, pub survival_baseline_target: Option<String>, pub survival_baseline_scale: Option<f64>, pub survival_baseline_shape: Option<f64>, pub survival_baseline_rate: Option<f64>, pub survival_baseline_makeham: Option<f64>, pub survival_time_basis: Option<String>, pub survival_time_degree: Option<usize>, pub survival_time_knots: Option<Vec<f64>>, pub survival_time_keep_cols: Option<Vec<usize>>, pub survival_time_smooth_lambda: Option<f64>, pub survival_time_anchor: Option<f64>, pub survivalridge_lambda: Option<f64>, pub survival_likelihood: Option<String>, pub survival_location_scale_structure: Option<SavedSurvivalLocationScaleStructure>, pub survival_beta_time: Option<Vec<f64>>, pub survival_beta_threshold: Option<Vec<f64>>, pub survival_beta_log_sigma: Option<Vec<f64>>, pub survival_distribution: Option<ResidualDistribution>, pub training_headers: Option<Vec<String>>, pub training_table_kind: String, pub training_feature_ranges: Option<Vec<(f64, f64)>>, pub group_metadata: Option<BTreeMap<String, Value>>, pub deployment_extensions: Vec<SavedDeploymentExtension>, pub transformation_response_knots: Option<Vec<f64>>, pub transformation_response_transform: Option<Vec<Vec<f64>>>, pub transformation_response_degree: Option<usize>, pub transformation_response_median: Option<f64>, pub transformation_geometry: Option<SavedTransformationNormalGeometry>, pub transformation_cone_carrier: Option<Vec<f64>>, pub transformation_score_calibration: Option<TransformationScoreCalibration>, pub resolved_termspec: Option<TermCollectionSpec>, pub resolved_termspec_noise: Option<TermCollectionSpec>, pub resolved_termspec_logslope: Option<TermCollectionSpec>, pub resolved_termspec_logslopes: Option<Vec<TermCollectionSpec>>, pub adaptive_regularization_diagnostics: Option<AdaptiveRegularizationDiagnostics>, pub gaussian_jackknife_plus: Option<GaussianJackknifePlusStats>, pub full_conformal: Option<ExactFullConformalSubstrate>,
}

Fields§

§version: u32§formula: String§model_kind: ModelKind§family_state: FittedFamily§family: String§estimator: FittedEstimator

Statistical criterion that produced the saved response surface.

This is a required v12 field. In particular, an expectile fit uses a Gaussian-identity inner solver but does not thereby acquire a Gaussian observation law. Persisting the estimator separately prevents generative consumers from manufacturing one after save/load.

§inference_notes: Vec<String>

Human-readable advisories produced while materializing this model — e.g. an mgcv-style “k was reduced to the data support” note when a cubic-regression marginal is capped, or a basis-degradation note. These are surfaced to CLI users via print_inference_summary; persisting them here lets the Python (gamfit) interface surface the SAME advisories as warnings / model.notes instead of silently dropping them at the FFI boundary (#1543). #[serde(default)] keeps older payloads (which had no such field) deserializing cleanly as “no notes”.

§basis_adequacy: Vec<BasisAdequacyRow>

Per-smooth basis-adequacy evidence measured at fit time (#2774): for each smooth term, the residual lack-of-fit verdict against a higher-resolution alternative over that term’s own covariates, or a typed reason it could not be measured.

Persisted because it is EVIDENCE ABOUT THIS FIT, not a re-derivable property of the saved model: it is computed from the converged IRLS row state (weights, working response, linear predictor), and a saved model carries none of those. Model.basis_check(data) recomputes it from the training rows; this field is what summary() can report with no data at all, which is the difference between a user seeing the warning and not.

#[serde(default)] keeps payloads written before this field existed deserializing as “not measured” — which is exactly what they are.

§used_device: bool§fit_result: Option<UnifiedFitResult>§unified: Option<UnifiedFitResult>

Unified (family-agnostic) representation of the fit result.

§spline_scan: Option<SavedSplineScan>

Exact O(n) spline-scan fit representation (#1030/#1034): the state-space smoothing-spline posterior of a single 1-D Gaussian smooth. When Some, this standard Gaussian model’s predictions replay the Gaussian bridge from this state and the model carries no dense fit_result (the representations are mutually exclusive — enforced by validate_for_persistence). #[serde(default)] so older payloads read as: not a scan model.

§residual_cascade: Option<SavedResidualCascade>

O(n log n) multiresolution residual-cascade fit (#1032): the persisted multilevel Wendland-frame state for a single scattered 2–3D Gaussian smooth past the dense-kernel cliff. When Some, predictions replay the cascade posterior; mutually exclusive with spline_scan/fit_result. #[serde(default)] keeps forward-compatibility with older payloads.

§data_schema: Option<DataSchema>§link: Option<InverseLink>§mixture_link_param_covariance: Option<Vec<Vec<f64>>>§sas_param_covariance: Option<Vec<Vec<f64>>>§formula_noise: Option<String>§formula_logslope: Option<String>§formula_logslopes: Option<Vec<String>>§offset_column: Option<String>§noise_offset_column: Option<String>§weight_column: Option<String>

Name of the analytic prior-weights column used at fit time (weights=), persisted so replicate/generative sampling can re-resolve the per-row weights and draw heteroskedastic Gaussian observation noise sigma_i = sigma_hat / sqrt(w_i) (#2025). None for an unweighted fit.

§beta_noise: Option<Vec<f64>>§noise_projection: Option<Vec<Vec<f64>>>§noise_center: Option<Vec<f64>>§noise_scale: Option<Vec<f64>>§noise_non_intercept_start: Option<usize>§noise_projection_ridge_alpha: Option<f64>

Tikhonov ridge alpha used by solve_scale_projection when fitting noise_projection. Persisted so prediction-time replay is identical to fit-time projection.

§gaussian_response_scale: Option<f64>§linkwiggle_knots: Option<Vec<f64>>§linkwiggle_degree: Option<usize>§linkwiggle_penalty_metadata: Option<WigglePenaltyMetadata>

Exact fit-time I-spline function-penalty semantics and ordered block topology for a standard link-wiggle. Required for posterior sampling; the sampler rebuilds these blocks through the canonical function-space constructor and rejects any topology or lambda-count mismatch.

§beta_link_wiggle: Option<Vec<f64>>§link_wiggle_index_shift: Option<Vec<f64>>

Frozen-index mean-coordinate shift s for the standard binomial-mean link-warp predict runtime (#2141). Predict evaluates the warp basis at the frozen index η̂ = X·(β_saved + s) the fit pinned B at, rather than at the de-aliased base predictor X·β_saved — reproducing the fitted q (and thus the fitted deviance) at predict time. None for models whose warp path never de-aliased (location-scale / dynamic-basis), where the base predictor already is the warp index (back-compatible serde default).

§baseline_timewiggle_knots: Option<Vec<f64>>§baseline_timewiggle_degree: Option<usize>§baseline_timewiggle_penalty_orders: Option<Vec<usize>>§baseline_timewiggle_double_penalty: Option<bool>§beta_baseline_timewiggle: Option<Vec<f64>>§beta_baseline_timewiggle_by_cause: Option<Vec<Vec<f64>>>§z_column: Option<String>§z_columns: Option<Vec<String>>§latent_z_normalization: Option<SavedLatentZNormalization>§latent_score_contract: Option<SavedLatentScoreContract>§latent_measure: Option<LatentMeasureKind>§latent_z_rank_int_calibration: Option<LatentZRankIntCalibration>

Optional rank-INT calibration for the latent score (BMS family). When Some, the marginal-slope predictor routes the input z through LatentZRankIntCalibration::apply_at_predict before the closed-form standard-normal kernel, matching fit-time semantics. #[serde(default)] so models persisted before this field existed continue to deserialize cleanly (interpreted as: no calibration).

§latent_z_conditional_calibration: Option<LatentZConditionalCalibration>

Optional conditional location-scale calibration of the latent score (#905, BMS family). When Some, the marginal-slope predictor replaces the (normalized) input z by ζ = (z − m(C))/√v(C) — rebuilding the conditioning span a(C) from the marginal prediction design — before the closed-form standard-normal kernel, matching fit-time semantics. Mutually exclusive with latent_z_rank_int_calibration. #[serde(default)] so pre-existing models deserialize cleanly (interpreted as: no conditional calibration).

§marginal_baseline: Option<f64>§logslope_baseline: Option<f64>§logslope_baselines: Option<Vec<f64>>§logslope_time_basis: Option<SurvivalCovariateTimeBasis>

Resolved follow-up time margin of the survival marginal-slope log-slope block (gam#2765, gam#2767). None is the time-constant slope every model saved before this existed carries.

With a margin present the fitted block’s design is X_cov ⊗ᵣ B(log t) while resolved_termspec_logslope still names only the covariate factor, so prediction MUST rebuild the tensor product against these knots. They are fit-time values, never prediction-time estimates — the same contract threshold_time_basis / log_sigma_time_basis hold for location-scale.

§score_warp_runtime: Option<SavedCompiledFlexBlock>§link_deviation_runtime: Option<SavedCompiledFlexBlock>§influence_absorber_width: Option<usize>

Width p₁ of the survival marginal-slope absorbed Stage-1 influence block (#461) when present (the dedicated trailing absorber block). Predict drops its γ; this records the column count so the predictor can account for the extra block and slice γ out of the joint covariance.

§influence_absorber_design: Option<Vec<Vec<f64>>>

Exact residualized training-row design paired with the trailing survival marginal-slope influence block. Mandatory in the v11 schema: None is the explicit no-absorber state, while an absent JSON field is rejected rather than interpreted as an old-model fallback.

§survival_marginal_slope_score_covariance: Option<Vec<Vec<f64>>>

Exact latent-score covariance used by the fitted survival marginal-slope preservation map. Mandatory in the current schema.

§survival_entry: Option<String>§survival_exit: Option<String>§survival_event: Option<String>§survivalspec: Option<String>§survival_cause_count: Option<usize>§survival_endpoint_names: Option<Vec<String>>§survival_baseline_target: Option<String>§survival_baseline_scale: Option<f64>§survival_baseline_shape: Option<f64>§survival_baseline_rate: Option<f64>§survival_baseline_makeham: Option<f64>§survival_time_basis: Option<String>§survival_time_degree: Option<usize>§survival_time_knots: Option<Vec<f64>>§survival_time_keep_cols: Option<Vec<usize>>§survival_time_smooth_lambda: Option<f64>§survival_time_anchor: Option<f64>§survivalridge_lambda: Option<f64>§survival_likelihood: Option<String>§survival_location_scale_structure: Option<SavedSurvivalLocationScaleStructure>

Exact location-scale topology. This field intentionally has no serde default: every v11 artifact must state null for non-location-scale families or carry the complete structure for location-scale replay.

§survival_beta_time: Option<Vec<f64>>§survival_beta_threshold: Option<Vec<f64>>§survival_beta_log_sigma: Option<Vec<f64>>§survival_distribution: Option<ResidualDistribution>§training_headers: Option<Vec<String>>§training_table_kind: String

Container type of the table the model was fitted on, as detected by the active frontend ("pandas", "polars", "pyarrow", "numpy", or "unknown" outside a typed table frontend). This presentation provenance is required in the current schema so save/load cannot silently change an ambiguous predict input’s output container.

§training_feature_ranges: Option<Vec<(f64, f64)>>

Per-column (min, max) of the training input matrix, parallel to training_headers. At predict time, inputs are axis-clipped to these ranges so that out-of-distribution points evaluate at the nearest face of the training bounding box rather than extrapolating polynomial trends from polyharmonic / spline bases beyond the data envelope. Old model JSONs that pre-date this field load with None, in which case the predict path falls through unchanged (no clipping).

§group_metadata: Option<BTreeMap<String, Value>>

User-supplied per-group metadata, keyed by stable group identifier.

This is intentionally schema-free JSON so provenance maps can carry mixed scalar/list/object values. Missing in older payloads means no group metadata was persisted.

§deployment_extensions: Vec<SavedDeploymentExtension>

Deployment-time no-refit group extensions applied after fitting.

Each entry records the requested group coordinate, caller metadata, and prior used to initialize the inserted coefficient. The active prediction contract lives in data_schema + resolved_termspec; this ledger preserves provenance without requiring a refit.

§transformation_response_knots: Option<Vec<f64>>

Transformation-normal: B-spline knots for the response-direction basis.

§transformation_response_transform: Option<Vec<Vec<f64>>>

Transformation-normal: deviation nullspace transform matrix (row-major).

§transformation_response_degree: Option<usize>

Transformation-normal: B-spline degree for the response basis.

§transformation_response_median: Option<f64>

Transformation-normal: median of the response used for anchoring.

§transformation_geometry: Option<SavedTransformationNormalGeometry>

Transformation-normal: direct-α geometry record (gam#2306). REQUIRED for a transformation-normal model at v13+; None for every other family and for pre-cutover CTN payloads, whose load validate_for_persistence refuses (typed) rather than heuristically converting.

§transformation_cone_carrier: Option<Vec<f64>>

Transformation-normal: the monotonicity-cone carrier Ψ (the fitted covariate design at κ̂), row-major n × p_cov where n = cone_carrier_row_count and p_cov = cone_carrier_covariate_width from SavedTransformationNormalGeometry. REQUIRED for a v13+ CTN model: constrained posterior sampling rejects draws whose realized shape field Γ = Ψ Aᵀ leaves the positivity cone, and the carrier is persisted (not reconstructed) because Ψ(κ̂) goes through the exp/log spatial warp whose replay is not bitwise-stable, and a sign flip on a near-zero Γ entry would wrongly accept a non-monotone transformation.

§transformation_score_calibration: Option<TransformationScoreCalibration>

Transformation-normal saved score contract. The score is the exact finite-support PIT: z = Phi^{-1}((Phi(h) - Phi(h_L)) / (Phi(h_U) - Phi(h_L))).

§resolved_termspec: Option<TermCollectionSpec>§resolved_termspec_noise: Option<TermCollectionSpec>§resolved_termspec_logslope: Option<TermCollectionSpec>§resolved_termspec_logslopes: Option<Vec<TermCollectionSpec>>§adaptive_regularization_diagnostics: Option<AdaptiveRegularizationDiagnostics>§gaussian_jackknife_plus: Option<GaussianJackknifePlusStats>

Precomputed exact Gaussian-identity jackknife+ statistics (#942).

Populated only for a standard Gaussian-identity model fit with unit prior weights, where the closed-form Sherman–Morrison leave-one-out substrate gives a distribution-free prediction interval with no held-out fold, targeting ≈level coverage at α = 1 − level with the finite-sample floor ≥ 2·level − 1 (Barber et al. 2021, ≥ 1 − 2α; see the pyffi route for the calibration decision, #1546). When Some, predict(interval=level) auto-routes through it (the MAGIC default); when None — any other family/link, reweighted rows, or an older payload — predict falls back to the model-based posterior band and labels the provenance honestly. #[serde(default)] so pre-existing models deserialize as: no jackknife+ substrate available.

§full_conformal: Option<ExactFullConformalSubstrate>

Precomputed substrate for the EXACT Gaussian-identity full-conformal set (#942 Layer 1 + the frozen-ρ self-diagnostic).

Populated under the SAME eligibility as gaussian_jackknife_plus (Gaussian-identity, unit prior weights, offset-free, no link wiggle). It persists the training design + response + frozen penalty so the prediction set that is exact GIVEN (a union of intervals, valid for any penalized smooth) can be replayed per test point — one Cholesky each, zero refits. Because λ̂ was selected from all training responses, the frozen-λ construction is not permutation symmetric in the augmented points; the distribution-free finite-sample coverage theorem is asserted only per row where the surfaced frozen-ρ certificate accepts (under the global-ρ grid-Lipschitz assumption). None for any ineligible model or an older payload, in which case the exact-set predict path errors with a clear message and the caller uses jackknife+ or the posterior band. #[serde(default)] so pre-existing models deserialize as no exact substrate available.

Implementations§

Source§

impl FittedModelPayload

Source

pub fn new( version: u32, formula: String, model_kind: ModelKind, family_state: FittedFamily, family: String, ) -> FittedModelPayload

Source

pub fn set_training_feature_metadata( &mut self, headers: Vec<String>, feature_ranges: Vec<(f64, f64)>, )

Source

pub fn apply_survival_time_basis(&mut self, snapshot: &SavedSurvivalTimeBasis)

Write the persistable time-basis snapshot for a survival model.

This is the only path that should populate the survival_time_* fields used by the loader. Routing every FFI builder through this helper guarantees no builder can silently drop a field — the marginal-slope save→load bug was a builder that missed survival_time_basis.

Trait Implementations§

Source§

impl Clone for FittedModelPayload

Source§

fn clone(&self) -> FittedModelPayload

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<'de> Deserialize<'de> for FittedModelPayload

Source§

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

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

impl Serialize for FittedModelPayload

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

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

Source§

fn by_ref(&self) -> &T

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<C> CloneExpand for C
where C: Clone,

Source§

fn __expand_clone_method(&self, _scope: &mut Scope) -> C

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> DistributionExt for T
where T: ?Sized,

Source§

fn rand<T>(&self, rng: &mut (impl Rng + ?Sized)) -> T
where Self: Distribution<T>,

Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Imply<T> for U
where T: ?Sized, U: ?Sized,

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

Source§

fn comptime(self) -> Self

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

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
Source§

impl<SS, SP> SupersetOf<SS> for SP
where SS: SubsetOf<SP>,

Source§

fn to_subset(&self) -> Option<SS>

The inverse inclusion map: attempts to construct self from the equivalent element of its superset. Read more
Source§

fn is_in_subset(&self) -> bool

Checks if self is actually part of its subset T (and can be converted to it).
Source§

fn to_subset_unchecked(&self) -> SS

Use with care! Same as self.to_subset but without any property checks. Always succeeds.
Source§

fn from_subset(element: &SS) -> SP

The inclusion map: converts self to the equivalent element of its superset.
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.
Source§

impl<T> TuneInputs for T
where T: Clone + Send + Sync + 'static,

Source§

type At<'a> = T

The concrete input type at lifetime 'a.
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