pub struct RuleSpec {
pub id: String,
pub kind: String,
pub level: Level,
pub paths: Option<PathsSpec>,
pub message: Option<String>,
pub policy_url: Option<String>,
pub when: Option<String>,
pub fix: Option<FixSpec>,
pub extra: Mapping,
}Expand description
YAML-level description of a rule before it is instantiated into a Box<dyn Rule>
by a RuleBuilder.
Fields§
§id: String§kind: String§level: Level§paths: Option<PathsSpec>§message: Option<String>§policy_url: Option<String>§when: Option<String>§fix: Option<FixSpec>Optional mechanical-fix strategy. Rules whose builders understand
the chosen op attach a Fixer to the built rule;
rules whose kind is incompatible with the op return a config error
at build time.
extra: MappingThe entire YAML mapping, retained so each rule builder can deserialize its kind-specific fields without every option being represented here.
Implementations§
Source§impl RuleSpec
impl RuleSpec
Sourcepub fn deserialize_options<T>(&self) -> Result<T>where
T: DeserializeOwned,
pub fn deserialize_options<T>(&self) -> Result<T>where
T: DeserializeOwned,
Deserialize the full spec (common + kind-specific fields) into a typed
options struct. Common fields are reconstructed into the mapping so
the target struct can #[derive(Deserialize)] against the whole shape
when convenient.
Trait Implementations§
Source§impl<'de> Deserialize<'de> for RuleSpec
impl<'de> Deserialize<'de> for RuleSpec
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RuleSpec
impl RefUnwindSafe for RuleSpec
impl Send for RuleSpec
impl Sync for RuleSpec
impl Unpin for RuleSpec
impl UnsafeUnpin for RuleSpec
impl UnwindSafe for RuleSpec
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
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 moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
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