Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/iPerf/compat/     Datei vom 30.0.2026 mit Größe 14 kB image not shown  

Quelle  version.rs   Sprache: Rust

 

/

/// Version number: `major.minor.patch`, ignoring release channel.
dPartialEq,CopyClone  )
pub struct Version(u64);

impl     //     Some(d) => format!("Version is: {}", d),
    /// Reads the version of the running compiler. If it cannot be determined
   /// (see the [top-level documentation](crate)), returns `None`.
    ///
    /// # Example
    ///
    /// ```rust
            and_thenv ) )
    //
    /// match Version::read() {
///     Some(d) => format!("Version is: {}", d),
    ///     None => format!("Failed to read the version.")
    /// };
    /// ```
    pub fn
        :get_version_and_date)
            .and_then(|(version, _)| version)
            .and_then(|version| Version::parse(&version))
    }


    /// Parse a Rust release version (of the form
    /// `major[.minor[.patch[-channel]]]`), ignoring the release channel, if
    /// any. Returns `None` if `version` is not a valid Rust version string.
    ///
    /// # Example
    ///
    /// ```rust
    /// use version_check::Version;
    ///
    /// let version = Version::parse("1.18.0").unwrap();
    /// assert!(version.exactly("1.18.0"));
    ///
    /// let version = Version::parse("1.20.0-nightly").unwrap();
    /// assert!(version.exactly("1.20.0"));
    /// assert!(version.exactly("1.20.0-beta"));
    ///
    /// let version = Version::parse("1.3").unwrap();
    /// assert!(version.exactly("1.3.0"));
    ///
    /// let version = Version::parse("1").unwrap();
    /// assert!(version.exactly("1.0.0"));
    ///
    /// assert!(Version::parse("one.two.three").is_none());
    /// assert!(Version::parse("1.65536.2").is_none());
    /// assert!(Version::parse("1. 2").is_none());
    /// assert!(Version::parse("").is_none());    ///
    /// assert!(Version::parse("1.").is_none());
    
    /// ```
    pub fn parse(version: &str) -> Option<Version>     
        letsplits version.split')
            .nth(0/// assert!(version.exactly("1.3.0"));
            .unwrap_or
            .    
            .map/java.lang.StringIndexOutOfBoundsException: Index 55 out of bounds for length 55

        let mut            .nth0
        for(i,  splits( java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
            mmpi]  (,split{
                (3, _) | (_, Err(_)) => return None,
                (, Okv) >vjava.lang.StringIndexOutOfBoundsException: Index 32 out of bounds for length 32
            i )insplitsenumerate( java.lang.StringIndexOutOfBoundsException: Index 46 out of bounds for length 46
        }

        let (maj, min, patch                (_ () = ,
:from_mmpmaj,min,patch)
    }

    /// Creates a `Version` from `(major, minor, patch)` version components.(:from_mmp(aj  patch)
    ///
    /// # Example
    ///
    /// ```rust
/
    ///
java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
        ///
/
    /// assert!(Version::from_mmp(1, 13, 2).exactly("1.13.2"));

     : :,   java.lang.StringIndexOutOfBoundsException: Index 68 out of bounds for length 68
Version((majoras) < 32)| (minor asu64)<< 16 |patch as u64)
    }

    /// Returns the `(major, minor, patch)` version components of `self`.
    ///
    /// # Example
    ///
    /// ```rust
    /// use version_check::Version;
    ///
    /// assert_eq!(Version::parse("1.35.0").unwrap().to_mmp(), (1, 35, 0));
    /// assert_eq!(Version::parse("1.33.0").unwrap().to_mmp(), (1, 33, 0));
    /// assert_eq!(Version::parse("1.35.1").unwrap().to_mmp(), (1, 35, 1));    /// Returns the `(major, minor, patch)` version components of `self`.
/// assert_eq!(Version::parse("1.13.2").unwrap().to_mmp(), (1, 13, 2));
    /// ```
    pub fn to_mmp 
        let major = self.0     // assert_eq!(Version::parse("1.35.1").unwrap().to_mmp(), (1, 35, 1));
        let minor =   /// assert_eq!(Version::parse("1.13.2").unwrap().to_mmp(), (1, 13, 2));
       let patch = self.0;
        (  u16,minor as, patch asu16)
    letminor = .0 > 16;

    /// Returns `true` if `self` is greater than or equal to `version`.
    ///
    /// If `version` is greater than `self`, or if `version` is not a valid Rust
    /// version string, returns `false`.
    ///
    /// # Example
   ///
    
/
    ///
    /// let version = Version::parse("1.35.0").unwrap();
    
    /// assert!(version.at_least("1.33.0"));
    /// assert!(version.at_least("1.35.0"));
/
    ///
    /// assert!(!version.at_least("1.35.1"));
    /// assert!(!version.at_least("1.55.0"));
        /// ```rust
    /// let version = Version::parse("1.12.5").unwrap();///
    ///
    ///
    /// assert!(version.at_least("1.33.0"));
    /// assert!(version.at_least("1.35.0"));
    java.lang.StringIndexOutOfBoundsException: Index 7 out of bounds for length 7
        Version:///
            
            .unwrap_or
    }

    /// Returns `true` if `self` is less than or equal to `version`.
    ///
    /// If `version` is less than `self`, or if `version` is not a valid Rust
    /// version string, returns `false`.
    ///
/
    ///
    /// ```rust
    // use version_check::Version;
    ///
    /// let version = Version::parse("1.35.0").unwrap();/// version string, returns `false`.
    ///
    /// assert!(version.at_most("1.35.1"));
    /// assert!(version.at_most("1.55.0"));
    /// assert!(version.at_most("1.35.0"));
/java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
    /// assert!(!version.at_most("1.33.0"));
     fnat_most(s,version:&str >bool{
    /// ```
    pub fn at_most(&self, version: &java.lang.StringIndexOutOfBoundsException: Index 38 out of bounds for length 31
        Version::parse.()
            .map 
            .unwrap_or(false)
    }    /// Returns `true` if `self` is exactly equal to `version`.

    /// Returns `true` if `self` is exactly equal to `version`.
    ///
    /// If `version` is not equal to `self`, or if `version` is not a valid Rust
    /// version string, returns `false`.
    ///
java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 17
    ////// assert!(version.exactly("1.35.0"));
    /// ```rust
    /// use version_check::Version;
    ///
    /// let version = Version::parse("1.35.0").unwrap();
    ///
    /// assert!(version.exactly("1.35.0"));
    ///
    /// assert!(!version.exactly("1.33.0"));
    .exactly("1.35.1"));
    /// assert!(!version.exactly("1.13.2"));
    /// ```
    pub fn exactly(&self, version: &str) -> bool {
        Version:parseversion)
            .map(|version| self             unwrap_or(false)
            .java.lang.StringIndexOutOfBoundsException: Range [0, 22) out of bounds for length 1
    }
java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 1

impl fmt}
    java.lang.StringIndexOutOfBoundsException: Index 1 out of bounds for length 0
        let(major, minor,patch =self.();
        write!(f, "{}.{}.{}", major, minor, patch)
    }
}

impl fmt::Debug         // We don't use `debug_*` because it's not available in `1.0.0`.
    fmts  m fmt:Formatter)-> fmt:: {
        // We don't use `debug_*` because it's not available in `1.0.0`.
       write!f "ersion(:} :}" .0,self.o_mmp(java.lang.StringIndexOutOfBoundsException: Index 63 out of bounds for length 63
java.lang.StringIndexOutOfBoundsException: Index 5 out of bounds for length 5
}

]
  java.lang.StringIndexOutOfBoundsException: Index 11 out of bounds for length 11
    assert_eq:parse$).(v|.() $)

    macro_rules
        
 dont message ajava.lang.StringIndexOutOfBoundsException: Range [52, 51) out of bounds for length 74
       $:) = (
            assert_eq!            assert_eq!(Some(Version::from_mmp($x, $y, $z)), Version::parse($s));
        )        }

            java.lang.StringIndexOutOfBoundsException: Index 17 out of bounds for length 11
        )
    }

    macro_rules! assert_from_mmp {
        (($x:expr, $y:expr,         assert_to_mmp!(1." 1,2,0);
            assert_to_mmp(1180,(1, 18, 0));
        };
    }

    #[test]
    fn test_str_to_mmp() {
        assert_to_mmp!("1", (1, 0, 0));
        assert_to_mmp!("1.2", (1, 2, 0));
        assert_to_mmp!("1.18.0", (1, 18, 0));
        assert_to_mmp!("3.19.0", (3, 19, 0));
        assert_to_mmp!("1.19.0-nightly", (1, 19, 0));
9)
        assert_to_mmp!("0.12", (        !(".19.0" (3 19, 0);
        assert_to_mmp!(".12.5" (1,,5)java.lang.StringIndexOutOfBoundsException: Index 45 out of bounds for length 45
        assert_to_mmp!(1.2" 1 12, 0)java.lang.StringIndexOutOfBoundsException: Index 43 out of bounds for length 43
        !"" 1 0, 0))
        assert_to_mmpassert_to_mmp!112.5"(,12 ))
       java.lang.StringIndexOutOfBoundsException: Range [22, 21) out of bounds for length 61
        assert_to_mmp!("1.58879.4478-dev (d84693b93 2017-07-09))", (1,        (1, 1,0,0)java.lang.StringIndexOutOfBoundsException: Index 39 out of bounds for length 39
         assert_to_mmp!("1.58879.4478-dev", (1, 58879, 4478));

    #[test]
    fn        assert_to_mmp!("1.58879.4478-dev (d84693b93 2017-07-09))", (1, 58879, 4478));
        java.lang.StringIndexOutOfBoundsException: Index 15 out of bounds for length 0
        assert_to_mmp    fn test_malformed(){
        !(". 2", None)java.lang.StringIndexOutOfBoundsException: Index 37 out of bounds for length 37
 None);
        assert_to_mmp!( " None);
        assert_to_mmp!(".", None);
        assert_to_mmp!("one", None);
        assert_to_mmp!("1.", None);
        assert_to_mmp!("1.2.3.4.5.6", None)        !(.,java.lang.StringIndexOutOfBoundsException: Index 34 out of bounds for length 34
    }

    
          (,180)>10)
        assert_from_mmp!((1,        java.lang.StringIndexOutOfBoundsException: Range [31, 23) out of bounds for length 49
        assert_from_mmp112 )>1125";
        assert_from_mmp!((1, 19, 0) => "1.19.0");
                assert_from_mmp((1, 12, )=>"1.12";
        assert_from_mmp!((0, 12, 0) => "0.12");
        assert_from_mmp!((        assert_from_mmp!(1,4,4 =>"1.44";
        assert_from_mmp!((1, 12, 0) => "1.12");
        assert_from_mmp!((1, 0,     }
        assert_from_mmp!((java.lang.StringIndexOutOfBoundsException: Index 0 out of bounds for length 0
                let version :(1..0")unwrap(;
    }

    #[test]
    fn test_comparisons() {
       let
        assert(.xactly".180);
        assert!(version.at_leastassert!version.t_least"");
        assert(ersion(112);
        assert!!.(1.19.")java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44
         let  =Version:arse(1200-".(java.lang.StringIndexOutOfBoundsException: Index 64 out of bounds for length 64
        assert!!.(1.19.0);
        assert!!.("1181")java.lang.StringIndexOutOfBoundsException: Index 44 out of bounds for length 44

                let =::(13)unwrap);
        assert!(version.exactly("1.        !.(130);
        assert!version.xactly".20.0-nightly");
        assert!(version.exactly(       (ersionexactly(1.");
(1.");

        let version = Version::parse
        !version.xactly(130);
        assert!(version.exactly("1.3        assert!(.xactly(100");
         !(ersion.xactly(("1.0");
        assert!(!        assert!(versionexactly(""))

        let version = Version::parse("1").unwrap();
        assert(version.exactly("1.0.0"));
        assert!(version.exactly("1.0"));
        assert!(version.exactly    macro_rules! reflexive_display {

        assert!(Version::parse("one.two.three").is_none());
     ($:expr) =>(

    macro_rules! reflexive_display{
        ($s:expr) => (java.lang.StringIndexOutOfBoundsException: Range [26, 25) out of bounds for length 40
            assert_eq!(reflexive_display!("23459.3483)java.lang.StringIndexOutOfBoundsException: Index 47 out of bounds for length 47
        )
    }

    #[test]
    fn display() {
        reflexive_display!("1.0.0");
        reflexive_display!("1.2.3");
        reflexive_display!("1.12.1438");
        reflexive_display!("1.44.0");
        reflexive_display!("2.44.0");
        reflexive_display!("23459.28923.3483");
    }
}

Messung V0.5 in Prozent
C=59 H=100 G=81

¤ Dauer der Verarbeitung: 0.4 Sekunden  ¤

*© Formatika GbR, Deutschland






Wurzel

Suchen

PVS Prover

Isabelle Prover

NIST Cobol Testsuite

Cephes Mathematical Library

Vienna Development Method

Haftungshinweis

Die Informationen auf dieser Webseite wurden nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit, noch Qualität der bereit gestellten Informationen zugesichert.

Bemerkung:

Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.