Invert cfg polarity so builds without any cfg assume most recent compiler

This commit is contained in:
David Tolnay 2020-09-30 12:41:23 -07:00
parent 6cb2f0aacf
commit cf074f7895
No known key found for this signature in database
GPG Key ID: F9BA143B95FF6D82
2 changed files with 7 additions and 7 deletions

View File

@ -22,14 +22,14 @@ fn main() {
// BTreeMap::get_key_value // BTreeMap::get_key_value
// https://blog.rust-lang.org/2019/12/19/Rust-1.40.0.html#additions-to-the-standard-library // https://blog.rust-lang.org/2019/12/19/Rust-1.40.0.html#additions-to-the-standard-library
if minor >= 40 { if minor < 40 {
println!("cargo:rustc-cfg=btreemap_get_key_value"); println!("cargo:rustc-cfg=no_btreemap_get_key_value");
} }
// BTreeMap::remove_entry // BTreeMap::remove_entry
// https://blog.rust-lang.org/2020/07/16/Rust-1.45.0.html#library-changes // https://blog.rust-lang.org/2020/07/16/Rust-1.45.0.html#library-changes
if minor >= 45 { if minor < 45 {
println!("cargo:rustc-cfg=btreemap_remove_entry"); println!("cargo:rustc-cfg=no_btreemap_remove_entry");
} }
} }

View File

@ -132,16 +132,16 @@ impl Map<String, Value> {
String: Borrow<Q>, String: Borrow<Q>,
Q: ?Sized + Ord + Eq + Hash, Q: ?Sized + Ord + Eq + Hash,
{ {
#[cfg(any(feature = "preserve_order", btreemap_remove_entry))] #[cfg(any(feature = "preserve_order", not(no_btreemap_remove_entry)))]
return self.map.remove_entry(key); return self.map.remove_entry(key);
#[cfg(all(btreemap_get_key_value, not(any(feature = "preserve_order", btreemap_remove_entry))))] #[cfg(all(not(no_btreemap_get_key_value), not(any(feature = "preserve_order", not(no_btreemap_remove_entry)))))]
{ {
let (key, _value) = self.map.get_key_value(key)?; let (key, _value) = self.map.get_key_value(key)?;
let key = key.clone(); let key = key.clone();
let value = self.map.remove::<String>(&key)?; let value = self.map.remove::<String>(&key)?;
Some((key, value)) Some((key, value))
} }
#[cfg(not(any(feature = "preserve_order", btreemap_remove_entry, btreemap_get_key_value)))] #[cfg(not(any(feature = "preserve_order", not(no_btreemap_remove_entry), not(no_btreemap_get_key_value))))]
{ {
use std::ops::{Bound, RangeBounds}; use std::ops::{Bound, RangeBounds};