#[doc(hidden)]pub trait ErrPartsClassed {
// Required method
fn __mx_classed_parts(&self) -> Option<ErrParts>;
}Expand description
Autoref-specialisation probe, first stage, preferred arm: E: RConditionData.
Under the serde feature a declared-shape stage runs before this one: a
shape that serde_error_shape! declared for E wins over the impl (see
ErrShapeDeclared).
The generated code calls (&e).__mx_classed_parts() with both first-stage
traits in scope. Method resolution tries the receiver type &E by value
first, which only this impl (on E, taking &self) satisfies; the
ErrPartsUnclassed arm on &E needs one more auto-ref and is only
reached when E does not implement RConditionData. It yields None,
and the second stage (ErrPartsSerde / ErrPartsDebug) decides.
Two two-way probes rather than one three-way probe: the Serialize and
Debug bounds both hold for &E whenever they hold for E, so a single
method name with three impls at increasing reference depth is ambiguous at
the first step. Each stage has exactly one impl on E and one on &E.
Required Methods§
fn __mx_classed_parts(&self) -> Option<ErrParts>
Dyn Compatibility§
This trait is dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety".