SourceInfoIssue

Enum SourceInfoIssue 

Source
pub enum SourceInfoIssue {
    Generic {
        summary: String,
        arrow_line: Option<String>,
        message: String,
    },
    BaseField {
        field_name: String,
        value: String,
        context: String,
        architecture: Option<SystemArchitecture>,
    },
    PackageField {
        field_name: String,
        package_name: String,
        value: String,
        context: String,
        architecture: Option<SystemArchitecture>,
    },
    MissingField {
        field_name: String,
    },
}
Expand description

A specific type of SRCINFO related lint issues that may be encountered during linting.

Variants§

§

Generic

A generic issue that only consists of some text without any additional fields.

Use this for one-off issues that don’t fit any other “issue category”. The lint rule must take care of the formatting itself.

§Note

If you find yourself using this variant multiple times in a similar manner, consider creating a dedicated variant for that use case.

Fields

§summary: String

A brief, one-line summary of the issue for display above the main error line.

This is used to populate LintIssueDisplay::summary.

§arrow_line: Option<String>

Additional context that can be displayed between summary and message.

This is used to populate LintIssueDisplay::arrow_line.

§message: String

The detailed message describing this issue, shown in the context section.

This can contain more specific information about what was found and where.

This is used to populate LintIssueDisplay::message.

§

BaseField

A lint issue on a PackageBase field.

Fields

§field_name: String

The field name which causes the issue.

Used as LintIssueDisplay::arrow_line in the form of: in field {field_name}

§value: String

The value that causes the issue.

Used as LintIssueDisplay::message in the form of: "{context}: {value}"

§context: String

Additional context that describes what kind of issue is found.

Used as LintIssueDisplay::message in the form of: "{context}: {value}"

§architecture: Option<SystemArchitecture>

The architecture in case the field is architecture specific.

If this is set, it’ll be used as LintIssueDisplay::message in the form of: "{context}: {value} for architecture {arch}"

§

PackageField

A lint issue on a field that belongs to a specific package.

Fields

§field_name: String

The field name which causes the issue.

Used as LintIssueDisplay::arrow_line in the form of: format!("in field {field_name} for package {package_name}")

§package_name: String

The name of the package for which the issue is detected.

Used as LintIssueDisplay::arrow_line in the form of: "in field {field_name} for package {package_name}"

§value: String

The value that causes the issue.

Used as LintIssueDisplay::message in the form of: "{context}: {value}"

§context: String

Additional context that describes what kind of issue is found.

Used as LintIssueDisplay::message in the form of: "{context}: {value}"

§architecture: Option<SystemArchitecture>

The architecture in case the field is architecture specific.

If this is set, it’ll be used as LintIssueDisplay::message in the form of: "{context}: {value} for architecture {arch}"

§

MissingField

A required field is missing from the package base.

Fields

§field_name: String

The name of the field that is missing.

Implementations§

Source§

impl SourceInfoIssue

Source

pub fn field_fmt( field_name: &str, architecture: Option<SystemArchitecture>, ) -> ColoredString

Takes a field name with an optional architecture and returns the correct SRCINFO formatting as bold text.

Trait Implementations§

Source§

impl Clone for SourceInfoIssue

Source§

fn clone(&self) -> SourceInfoIssue

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for SourceInfoIssue

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl<'de> Deserialize<'de> for SourceInfoIssue

Source§

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

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

impl From<SourceInfoIssue> for LintIssueType

Source§

fn from(issue: SourceInfoIssue) -> Self

Converts to this type from the input type.
Source§

impl Serialize for SourceInfoIssue

Source§

fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::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> 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> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

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.

§

impl<T> Pointable for T

§

const ALIGN: usize

The alignment of pointer.
§

type Init = T

The type for initializers.
§

unsafe fn init(init: <T as Pointable>::Init) -> usize

Initializes a with the given initializer. Read more
§

unsafe fn deref<'a>(ptr: usize) -> &'a T

Dereferences the given pointer. Read more
§

unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T

Mutably dereferences the given pointer. Read more
§

unsafe fn drop(ptr: usize)

Drops the object pointed to by the given pointer. Read more
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
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> DeserializeOwned for T
where T: for<'de> Deserialize<'de>,