pub fn eval(&self, platform: &Platform) -> Option<bool> {
        self.inner.eval(|pred| {
            match pred {
                Predicate::Target(target) => Some(platform.triple().matches(target)),
                Predicate::TargetFeature(feature) => platform.target_features().matches(feature),
                Predicate::Test | Predicate::DebugAssertions | Predicate::ProcMacro => {
                    // Known families that always evaluate to false. See
                    // https://docs.rs/cargo-platform/0.1.1/src/cargo_platform/lib.rs.html#76.
                    Some(false)
                }
                Predicate::Feature(_) => {
                    // NOTE: This is not supported by Cargo which always evaluates this to false. See
                    // https://github.com/rust-lang/cargo/issues/7442 for more details.
                    Some(false)
                }
                Predicate::Flag(flag) => {
                    // This returns false by default but true in some cases.
                    Some(platform.has_flag(flag))
                }
                Predicate::KeyValue { .. } => {
                    unreachable!("these predicates are disallowed in TargetExpression::verify_expr")
                }
            }
        })
    }
/// Evaluates this expression against the given platform.
///
/// Returns `Some(true)` if there's a match, `Some(false)` if there's none, or `None` if the
/// result of the evaluation is unknown (typically found if target features are involved).
Evaluates this expression against the given platform.
Evaluates this expression against the given platform .
pub fn eval(&self, platform: &Platform) -> Option<bool> {
        self.inner.eval(|pred| {
            match pred {
                Predicate::Target(target) => Some(platform.triple().matches(target)),
                Predicate::TargetFeature(feature) => platform.target_features().matches(feature),
                Predicate::Test | Predicate::DebugAssertions | Predicate::ProcMacro => {
                    // Known families that always evaluate to false. See
                    // https://docs.rs/cargo-platform/0.1.1/src/cargo_platform/lib.rs.html#76.
                    Some(false)
                }
                Predicate::Feature(_) => {
                    // NOTE: This is not supported by Cargo which always evaluates this to false. See
                    // https://github.com/rust-lang/cargo/issues/7442 for more details.
                    Some(false)
                }
                Predicate::Flag(flag) => {
                    // This returns false by default but true in some cases.
                    Some(platform.has_flag(flag))
                }
                Predicate::KeyValue { .. } => {
                    unreachable!("these predicates are disallowed in TargetExpression::verify_expr")
                }
            }
        })
    }
pub fn eval ( & self , platform : & Platform ) -> Option < bool > { self . inner . eval ( | pred | { match pred { Predicate :: Target ( target ) => Some ( platform . triple ( ) . matches ( target ) ) , Predicate :: TargetFeature ( feature ) => platform . target_features ( ) . matches ( feature ) , Predicate :: Test | Predicate :: DebugAssertions | Predicate :: ProcMacro => { // Known families that always evaluate to false. See // https://docs.rs/cargo-platform/0.1.1/src/cargo_platform/lib.rs.html#76. Some ( false ) } Predicate :: Feature ( _ ) => { // NOTE: This is not supported by Cargo which always evaluates this to false. See // https://github.com/rust-lang/cargo/issues/7442 for more details. Some ( false ) } Predicate :: Flag ( flag ) => { // This returns false by default but true in some cases. Some ( platform . has_flag ( flag ) ) } Predicate :: KeyValue { .. } => { unreachable ! ( " " ) } } } ) }
Evaluates this expression against the given platform.
Evaluates this expression against the given platform .
&self
platform
&Platform
&self
platform
&Platform