Skip to main content

Matrix

Struct Matrix 

Source
pub struct Matrix { /* private fields */ }
Expand description

Every versioned symbol of several glibc releases’ snapshots, with the kind each release defines it as. Built from complete Snapshots only.

Implementations§

Source§

impl Matrix

Source

pub fn load(root: &Path) -> Result<Self, String>

Loads every release directory under root (the data-directory layout of Snapshot::load); entries not named like a release are skipped.

§Errors

Fails if root cannot be read, a release directory is not a canonical release from 2.17, there are none or more than 64, a snapshot fails to load, or the matrix exceeds its size limits.

Source

pub fn bundled() -> Result<Self, String>

Every release in the bundled glibc-abilists data.

§Errors

Fails if the bundled data is malformed.

Source

pub fn from_snapshots( snapshots: impl IntoIterator<Item = Snapshot>, ) -> Result<Self, String>

Builds a matrix from snapshots already loaded.

§Errors

Fails if there are none, a release repeats, a snapshot lacks one of the eight tracked libraries or has an invalid or future-versioned symbol, or the matrix exceeds its size limits.

Source

pub fn expect( &self, release: Version, library: &str, name: &str, version: Version, ) -> Expectation

Exact versioned export membership; not default binding or whole-link resolution.

Source

pub fn to_tsv(&self, symbol: Option<&str>) -> String

Stable TSV with one row per library, symbol and version: the first snapshot that has it, then one column per release (F, D:size, T:size or absent). With symbol, only rows for that name.

Source

pub fn diff_tsv( &self, from: Version, to: Version, symbol: Option<&str>, ) -> Result<String, String>

Stable TSV of the rows that are added, removed or changed between the from and to releases. With symbol, only rows for that name.

§Errors

Fails if either release is not in the matrix.

Source

pub fn changes_tsv(&self) -> String

Matrix::diff_tsv between each pair of consecutive releases, under one header.

Trait Implementations§

Source§

impl Debug for Matrix

Source§

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

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

impl Default for Matrix

Source§

fn default() -> Self

Returns the “default value” for a type. 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> 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, 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.