#[non_exhaustive]pub enum ProfileError {
Show 16 variants
NotAProfile {
location: String,
profiles: Vec<String>,
},
Incompatible {
profile: String,
requires: String,
},
MissingPayload {
profile: String,
path: RelPath,
},
Collision {
path: RelPath,
layers: Vec<String>,
},
NotProvided {
path: RelPath,
from: String,
layers: Vec<String>,
},
FoldCollision {
first: RelPath,
second: RelPath,
},
Cycle {
chain: Vec<String>,
},
TooDeep {
chain: Vec<String>,
},
Diverged {
first: String,
second: String,
},
Escapes {
profile: String,
path: String,
},
NoKeys {
path: RelPath,
},
NoComment {
path: RelPath,
},
Overlap {
path: RelPath,
key: String,
first: String,
second: String,
},
Scopes {
path: RelPath,
layers: Vec<(String, Scope)>,
},
SameName {
name: String,
first: String,
second: String,
},
Setting {
key: String,
first: String,
second: String,
},
}Expand description
Why a profile, or the layers together, do not resolve.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
NotAProfile
The source has no profile.toml.
Fields
Incompatible
The profile’s devset requirement excludes this build.
MissingPayload
[files] lists a path that files/ does not hold.
Collision
Several layers provide one path, and the target has not chosen.
NotProvided
An override’s from names a layer that does not provide the path.
Fields
FoldCollision
Two paths name one file on a case-insensitive filesystem.
Cycle
Requirements lead back to a profile already being expanded.
TooDeep
Requirements nest deeper than devset follows.
Diverged
One profile is required at two refs, which would provide one set of files twice.
Escapes
A sibling requirement points outside the requiring profile’s source.
NoKeys
Keys are owned in a file devset does not read as TOML, JSON or YAML.
NoComment
A block is owned in a file whose comment syntax devset does not know.
Overlap
Two layers own overlapping keys of one file.
Fields
Scopes
Layers own one file in different scopes: one whole and another in part, or one by keys and another by a block.
SameName
Two layers’ profiles have one name, which must tell layers apart.
Fields
Setting
Two layers set one setting differently, and the target does not decide.
Trait Implementations§
Source§impl Clone for ProfileError
impl Clone for ProfileError
Source§impl Debug for ProfileError
impl Debug for ProfileError
Source§impl Display for ProfileError
impl Display for ProfileError
impl Eq for ProfileError
Source§impl Error for ProfileError
impl Error for ProfileError
1.30.0 · Source§fn source(&self) -> Option<&(dyn Error + 'static)>
fn source(&self) -> Option<&(dyn Error + 'static)>
1.0.0 · Source§fn description(&self) -> &str
fn description(&self) -> &str
use the Display impl or to_string()
Source§impl From<ProfileError> for Error
impl From<ProfileError> for Error
Source§fn from(source: ProfileError) -> Self
fn from(source: ProfileError) -> Self
Source§impl PartialEq for ProfileError
impl PartialEq for ProfileError
impl StructuralPartialEq for ProfileError
Auto Trait Implementations§
impl Freeze for ProfileError
impl RefUnwindSafe for ProfileError
impl Send for ProfileError
impl Sync for ProfileError
impl Unpin for ProfileError
impl UnsafeUnpin for ProfileError
impl UnwindSafe for ProfileError
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.