diff --git a/.travis.yml b/.travis.yml index c8d5312d5..99af8f600 100644 --- a/.travis.yml +++ b/.travis.yml @@ -16,24 +16,31 @@ matrix: - rust: 1.28.0 name: "crossbeam on 1.28.0" script: ./ci/crossbeam.sh + before_script: ./ci/downgrade-dependencies.sh - rust: 1.26.0 name: "crossbeam-channel on 1.26.0" script: ./ci/crossbeam-channel.sh + before_script: ./ci/downgrade-dependencies.sh - rust: 1.28.0 name: "crossbeam-deque on 1.28.0" script: ./ci/crossbeam-deque.sh + before_script: ./ci/downgrade-dependencies.sh - rust: 1.26.0 name: "crossbeam-epoch on 1.26.0" script: ./ci/crossbeam-epoch.sh + before_script: ./ci/downgrade-dependencies.sh - rust: 1.26.0 name: "crossbeam-queue on 1.26.0" script: ./ci/crossbeam-queue.sh + before_script: ./ci/downgrade-dependencies.sh - rust: 1.28.0 name: "crossbeam-skiplist on 1.28.0" script: ./ci/crossbeam-skiplist.sh + before_script: ./ci/downgrade-dependencies.sh - rust: 1.26.0 name: "crossbeam-utils on 1.26.0" script: ./ci/crossbeam-utils.sh + before_script: ./ci/downgrade-dependencies.sh # Test crates on nightly Rust. - rust: nightly diff --git a/ci/downgrade-dependencies.sh b/ci/downgrade-dependencies.sh new file mode 100644 index 000000000..0b4bcb6e0 --- /dev/null +++ b/ci/downgrade-dependencies.sh @@ -0,0 +1,5 @@ +# lazy_static 1.4 requires Rust 1.27+ +# and cfg-if 1.10 requires Rust 1.31+ so downgrade it. +- cargo generate-lockfile +- cargo update -p cfg-if --precise 1.9 +- cargo update -p lazy_static --precise 1.3 diff --git a/crossbeam-epoch/src/lib.rs b/crossbeam-epoch/src/lib.rs index e3116dcf7..112180b25 100644 --- a/crossbeam-epoch/src/lib.rs +++ b/crossbeam-epoch/src/lib.rs @@ -73,10 +73,7 @@ cfg_if! { } } -#[cfg_attr( - feature = "nightly", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) -)] +#[cfg_attr(feature = "nightly", cfg(target_has_atomic = "ptr"))] cfg_if! { if #[cfg(any(feature = "alloc", feature = "std"))] { extern crate crossbeam_utils; diff --git a/crossbeam-skiplist/src/lib.rs b/crossbeam-skiplist/src/lib.rs index 942b0a9d8..17e4a7bfb 100644 --- a/crossbeam-skiplist/src/lib.rs +++ b/crossbeam-skiplist/src/lib.rs @@ -18,10 +18,7 @@ cfg_if! { } } -#[cfg_attr( - feature = "nightly", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) -)] +#[cfg_attr(feature = "nightly", cfg(target_has_atomic = "ptr"))] cfg_if! { if #[cfg(any(feature = "alloc", feature = "std"))] { extern crate crossbeam_epoch as epoch; diff --git a/crossbeam-utils/src/lib.rs b/crossbeam-utils/src/lib.rs index 4df2ac8a4..06f23beb4 100644 --- a/crossbeam-utils/src/lib.rs +++ b/crossbeam-utils/src/lib.rs @@ -44,10 +44,7 @@ cfg_if! { } } -#[cfg_attr( - feature = "nightly", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) -)] +#[cfg_attr(feature = "nightly", cfg(target_has_atomic = "ptr"))] pub mod atomic; mod cache_padded; diff --git a/src/lib.rs b/src/lib.rs index ecff332ee..01c5a8fde 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -68,10 +68,7 @@ pub use _epoch::crossbeam_epoch as epoch; extern crate crossbeam_utils; -#[cfg_attr( - feature = "nightly", - cfg(all(target_has_atomic = "cas", target_has_atomic = "ptr")) -)] +#[cfg_attr(feature = "nightly", cfg(target_has_atomic = "ptr"))] pub use crossbeam_utils::atomic; /// Miscellaneous utilities.