fn is_compatible(version: u32, specifier: u32) -> bool {
    let (major, minor) = (version & 0xff, version >> 8 & 0xff);
    let (specified_major, specified_minor, range) = (
        specifier & 0xff,
        specifier >> 8 & 0xff,
        specifier >> 16 & 0xff,
    );

    major == specified_major
        && (specified_minor.saturating_sub(range)..=specified_minor).contains(&minor)
}
/// Return whether a version is compatible with version specifier.
Return whether a version is compatible with version specifier.
Return whether a version is compatible with version specifier .
fn is_compatible(version: u32, specifier: u32) -> bool {
    let (major, minor) = (version & 0xff, version >> 8 & 0xff);
    let (specified_major, specified_minor, range) = (
        specifier & 0xff,
        specifier >> 8 & 0xff,
        specifier >> 16 & 0xff,
    );
    major == specified_major
        && (specified_minor.saturating_sub(range)..=specified_minor).contains(&minor)
}
fn is_compatible ( version : u32 , specifier : u32 ) -> bool { let ( major , minor ) = ( version & 0xff , version >> 8 & 0xff ) ; let ( specified_major , specified_minor , range ) = ( specifier & 0xff , specifier >> 8 & 0xff , specifier >> 16 & 0xff , ) ; major == specified_major && ( specified_minor . saturating_sub ( range ) ..= specified_minor ) . contains ( & minor ) }
Return whether a version is compatible with version specifier.
Return whether a version is compatible with version specifier .
version
u32
specifier
u32