Skip to main content

BinaryIdentity

Struct BinaryIdentity 

Source
pub struct BinaryIdentity {
    pub role: &'static str,
    pub name: String,
    pub path: String,
    pub sha256: Option<String>,
    pub version: Option<String>,
    pub marker: Option<&'static str>,
    pub running: bool,
    pub channel: &'static str,
    pub note: Option<&'static str>,
}
Expand description

One executable dev-prune owns on this machine, and the digest a scanner sees.

A separate type from TrustRow because the hash has to survive into --json as a field of its own. Somebody comparing their copy against a published .sha256 should not have to parse it back out of a sentence.

Fields§

§role: &'static str

Stable identifier for --json: what this executable is for, not what it is named, so a reader does not have to know that devp is the short name.

§name: String

The file name, for a human.

§path: String

Where it is.

§sha256: Option<String>

Lower-case hex SHA-256, or None when the file could not be read.

§version: Option<String>

The version this copy was built as, read out of its own bytes. None for a build older than the stamp, which is every release before 1.17.0.

§marker: Option<&'static str>

latest release when this copy matches the newest release dev-prune has been told about, newest here when no release check has run and this is simply the highest version on the machine. None otherwise.

Two different claims and two different words, because a machine that has never asked GitHub anything cannot honestly call anything “latest”.

§running: bool

Whether this is the executable answering right now.

§channel: &'static str

Which package manager put this copy here, as a word — cargo, npm, uv, standalone. The path alone does not answer “why do I have three of these”, and the answer decides which command removes the one you did not want.

§note: Option<&'static str>

Why this one’s digest differs from the others, when it does.

Implementations§

Source§

impl BinaryIdentity

Source

pub fn scan_url(&self) -> Option<String>

The scan report for this file’s digest, if it could be hashed.

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> 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.

Source§

impl<T> IntoEither for T

Source§

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 more
Source§

fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
where F: FnOnce(&Self) -> bool,

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
Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, !>

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.