Skip to main content

VersionRequirementMatcher

Trait VersionRequirementMatcher 

Source
pub trait VersionRequirementMatcher: Send + Sync {
    // Required method
    fn is_latest_satisfying(
        &self,
        requirement: &ConcreteVersion,
        latest: &ConcreteVersion,
    ) -> bool;
}
Expand description

Generic version requirement matcher.

Each ecosystem implements this to provide version matching logic. Used by handlers to determine if a dependency is up-to-date.

Required Methods§

Source

fn is_latest_satisfying( &self, requirement: &ConcreteVersion, latest: &ConcreteVersion, ) -> bool

Check if the latest available version satisfies the requirement.

Returns true if the dependency is “up to date” within its constraint.

§Examples

For Cargo/npm (semver):

  • "^1.0.0" with latest "1.5.0" → true (satisfies ^1.0.0)
  • "^1.0.0" with latest "2.0.0" → false (new major version)

For PyPI (PEP 440):

  • ">=8.0" with latest "8.3.5" → true (same major version)
  • ">=8.0" with latest "9.0.0" → false (new major version)

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§