pub enum StandardViolation {
MsvcSpelling {
target: String,
language: &'static str,
standard: &'static str,
object: Utf8PathBuf,
},
FlagConflict {
conflict: StandardFlagConflict,
object: Utf8PathBuf,
},
InterfaceIncompatibility {
consumer: String,
dependency: String,
language: &'static str,
consumer_standard: &'static str,
required: &'static str,
requirement_source: &'static str,
object: Utf8PathBuf,
},
}Expand description
One standards problem recorded against a planned compile. Each
variant carries the offending compile’s object path so the
cabin check rewrite can prune violations with the same path
filter as the compiles they belong to.
Variants§
MsvcSpelling
An MSVC-dialect compile whose standard cl.exe has no
stable /std: flag — the planner cannot lower it (its
compile-commands entry is omitted).
Fields
object: Utf8PathBufObject path of the offending compile.
FlagConflict
A compile that carries both a first-class standard
declaration and an explicit -std= / /std: token in its
manifest-derived flag list — the documented escape-hatch
ambiguity, scoped to compiles the declaration covers.
InterfaceIncompatibility
A consuming compile whose effective implementation standard
is below a reachable library-like dependency’s interface
requirement for the same language. Recorded against the
consumer’s compile so the cabin check rewrite prunes the
incompatibility together with the compiles it protects — a
dependency-internal incompatibility never gates a check that
only compiles the selected packages’ own translation units.
Fields
object: Utf8PathBufObject path of one of the consumer’s compiles of the language (every object of a target shares the same per-package prefix the check filter tests).
Implementations§
Source§impl StandardViolation
impl StandardViolation
Sourcepub fn object(&self) -> &Utf8PathBuf
pub fn object(&self) -> &Utf8PathBuf
Object path of the offending compile, for the check rewrite’s path filter.
Trait Implementations§
Source§impl Clone for StandardViolation
impl Clone for StandardViolation
Source§fn clone(&self) -> StandardViolation
fn clone(&self) -> StandardViolation
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for StandardViolation
impl Debug for StandardViolation
impl Eq for StandardViolation
Source§impl PartialEq for StandardViolation
impl PartialEq for StandardViolation
Source§fn eq(&self, other: &StandardViolation) -> bool
fn eq(&self, other: &StandardViolation) -> bool
self and other values to be equal, and is used by ==.impl StructuralPartialEq for StandardViolation
Auto Trait Implementations§
impl Freeze for StandardViolation
impl RefUnwindSafe for StandardViolation
impl Send for StandardViolation
impl Sync for StandardViolation
impl Unpin for StandardViolation
impl UnsafeUnpin for StandardViolation
impl UnwindSafe for StandardViolation
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key and return true if they are equal.