pub struct LicenseInfo {
pub declared: Vec<LicenseExpression>,
pub concluded: Option<LicenseExpression>,
pub evidence: Vec<LicenseEvidence>,
}Expand description
License information for a component
Fields§
§declared: Vec<LicenseExpression>Declared licenses from the component metadata
concluded: Option<LicenseExpression>Concluded license after analysis
evidence: Vec<LicenseEvidence>License evidence from scanning
Implementations§
Source§impl LicenseInfo
impl LicenseInfo
Sourcepub fn add_declared(&mut self, license: LicenseExpression)
pub fn add_declared(&mut self, license: LicenseExpression)
Add a declared license
Sourcepub fn all_licenses(&self) -> Vec<&LicenseExpression>
pub fn all_licenses(&self) -> Vec<&LicenseExpression>
Get all unique license expressions
Sourcepub fn has_conflicts(&self) -> bool
pub fn has_conflicts(&self) -> bool
Check if there are potential license conflicts across declared expressions.
A conflict exists when one declared expression requires copyleft compliance and another declares proprietary terms. Note that a single expression like “MIT OR GPL-2.0” is NOT a conflict — it offers a choice.
Trait Implementations§
Source§impl Clone for LicenseInfo
impl Clone for LicenseInfo
Source§fn clone(&self) -> LicenseInfo
fn clone(&self) -> LicenseInfo
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for LicenseInfo
impl Debug for LicenseInfo
Source§impl Default for LicenseInfo
impl Default for LicenseInfo
Source§fn default() -> LicenseInfo
fn default() -> LicenseInfo
Returns the “default value” for a type. Read more
Source§impl<'de> Deserialize<'de> for LicenseInfo
impl<'de> Deserialize<'de> for LicenseInfo
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 LicenseInfo
impl RefUnwindSafe for LicenseInfo
impl Send for LicenseInfo
impl Sync for LicenseInfo
impl Unpin for LicenseInfo
impl UnsafeUnpin for LicenseInfo
impl UnwindSafe for LicenseInfo
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> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
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