Skip to content

Commit

Permalink
Merge pull request #504 from taiki-e/msrv
Browse files Browse the repository at this point in the history
Bump MSRV to 1.36
  • Loading branch information
Stjepan Glavina authored May 20, 2020
2 parents 534be05 + 778dc35 commit 321110b
Show file tree
Hide file tree
Showing 28 changed files with 43 additions and 112 deletions.
8 changes: 1 addition & 7 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ jobs:
- crossbeam-skiplist
- crossbeam-utils
rust:
- 1.28.0
- 1.36.0
- nightly
steps:
- uses: actions/checkout@master
Expand All @@ -36,12 +36,6 @@ jobs:
run: |
rustup target add thumbv7m-none-eabi
rustup target add thumbv6m-none-eabi
# cfg-if 0.1.10 requires Rust 1.31+ so downgrade it.
- name: Downgrade dependencies
if: matrix.rust == '1.28.0'
run: |
cargo generate-lockfile
cargo update -p cfg-if --precise 0.1.9
- name: Test
run: ./ci/${{ matrix.crates }}.sh

Expand Down
6 changes: 4 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ https://github.com/crossbeam-rs/crossbeam)
https://crates.io/crates/crossbeam)
[![Documentation](https://docs.rs/crossbeam/badge.svg)](
https://docs.rs/crossbeam)
[![Rust 1.28+](https://img.shields.io/badge/rust-1.28+-lightgray.svg)](
[![Rust 1.36+](https://img.shields.io/badge/rust-1.36+-lightgray.svg)](
https://www.rust-lang.org)
[![chat](https://img.shields.io/discord/569610676205781012.svg?logo=discord)](https://discordapp.com/invite/JXYwgWZ)

Expand Down Expand Up @@ -98,7 +98,9 @@ extern crate crossbeam;

## Compatibility

The minimum supported Rust version is 1.28. Any change to this is considered a breaking change.
Crossbeam supports stable Rust releases going back at least six months,
and every time the minimum supported Rust version is increased, a new minor
version is released. Currently, the minimum supported Rust version is 1.36.

## Contributing

Expand Down
14 changes: 7 additions & 7 deletions bors.toml
Original file line number Diff line number Diff line change
@@ -1,17 +1,17 @@
status = [
"test (crossbeam, 1.28.0)",
"test (crossbeam, 1.36.0)",
"test (crossbeam, nightly)",
"test (crossbeam-channel, 1.28.0)",
"test (crossbeam-channel, 1.36.0)",
"test (crossbeam-channel, nightly)",
"test (crossbeam-deque, 1.28.0)",
"test (crossbeam-deque, 1.36.0)",
"test (crossbeam-deque, nightly)",
"test (crossbeam-epoch, 1.28.0)",
"test (crossbeam-epoch, 1.36.0)",
"test (crossbeam-epoch, nightly)",
"test (crossbeam-queue, 1.28.0)",
"test (crossbeam-queue, 1.36.0)",
"test (crossbeam-queue, nightly)",
"test (crossbeam-skiplist, 1.28.0)",
"test (crossbeam-skiplist, 1.36.0)",
"test (crossbeam-skiplist, nightly)",
"test (crossbeam-utils, 1.28.0)",
"test (crossbeam-utils, 1.36.0)",
"test (crossbeam-utils, nightly)",
"dependencies",
"rustfmt",
Expand Down
3 changes: 0 additions & 3 deletions crossbeam-channel/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ description = "Multi-producer multi-consumer channels for message passing"
keywords = ["channel", "mpmc", "select", "golang", "message"]
categories = ["algorithms", "concurrency", "data-structures"]

[dependencies]
maybe-uninit = "2.0.0"

[dependencies.crossbeam-utils]
version = "0.7"
path = "../crossbeam-utils"
Expand Down
6 changes: 4 additions & 2 deletions crossbeam-channel/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ https://github.com/crossbeam-rs/crossbeam-channel)
https://crates.io/crates/crossbeam-channel)
[![Documentation](https://docs.rs/crossbeam-channel/badge.svg)](
https://docs.rs/crossbeam-channel)
[![Rust 1.28+](https://img.shields.io/badge/rust-1.28+-lightgray.svg)](
[![Rust 1.36+](https://img.shields.io/badge/rust-1.36+-lightgray.svg)](
https://www.rust-lang.org)
[![chat](https://img.shields.io/discord/569610676205781012.svg?logo=discord)](https://discord.gg/BBYwKq)

Expand Down Expand Up @@ -53,7 +53,9 @@ extern crate crossbeam_channel;

## Compatibility

The minimum supported Rust version is 1.28. Any change to this is considered a breaking change.
Crossbeam Channel supports stable Rust releases going back at least six months,
and every time the minimum supported Rust version is increased, a new minor
version is released. Currently, the minimum supported Rust version is 1.36.

## License

Expand Down
4 changes: 1 addition & 3 deletions crossbeam-channel/src/flavors/array.rs
Original file line number Diff line number Diff line change
Expand Up @@ -15,15 +15,13 @@
use std::cell::UnsafeCell;
use std::marker::PhantomData;
use std::mem;
use std::mem::{self, MaybeUninit};
use std::ptr;
use std::sync::atomic::{self, AtomicUsize, Ordering};
use std::time::Instant;

use crossbeam_utils::{Backoff, CachePadded};

use maybe_uninit::MaybeUninit;

use context::Context;
use err::{RecvTimeoutError, SendTimeoutError, TryRecvError, TrySendError};
use select::{Operation, SelectHandle, Selected, Token};
Expand Down
3 changes: 1 addition & 2 deletions crossbeam-channel/src/flavors/list.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,13 @@
use std::cell::UnsafeCell;
use std::marker::PhantomData;
use std::mem::MaybeUninit;
use std::ptr;
use std::sync::atomic::{self, AtomicPtr, AtomicUsize, Ordering};
use std::time::Instant;

use crossbeam_utils::{Backoff, CachePadded};

use maybe_uninit::MaybeUninit;

use context::Context;
use err::{RecvTimeoutError, SendTimeoutError, TryRecvError, TrySendError};
use select::{Operation, SelectHandle, Selected, Token};
Expand Down
1 change: 0 additions & 1 deletion crossbeam-channel/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -348,7 +348,6 @@
#![warn(missing_debug_implementations)]

extern crate crossbeam_utils;
extern crate maybe_uninit;

mod channel;
mod context;
Expand Down
3 changes: 0 additions & 3 deletions crossbeam-deque/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -15,9 +15,6 @@ description = "Concurrent work-stealing deque"
keywords = ["chase-lev", "lock-free", "scheduler", "scheduling"]
categories = ["algorithms", "concurrency", "data-structures"]

[dependencies]
maybe-uninit = "2.0.0"

[dependencies.crossbeam-epoch]
version = "0.8"
path = "../crossbeam-epoch"
Expand Down
6 changes: 4 additions & 2 deletions crossbeam-deque/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ https://github.com/crossbeam-rs/crossbeam-deque)
https://crates.io/crates/crossbeam-deque)
[![Documentation](https://docs.rs/crossbeam-deque/badge.svg)](
https://docs.rs/crossbeam-deque)
[![Rust 1.28+](https://img.shields.io/badge/rust-1.28+-lightgray.svg)](
[![Rust 1.36+](https://img.shields.io/badge/rust-1.36+-lightgray.svg)](
https://www.rust-lang.org)
[![chat](https://img.shields.io/discord/569610676205781012.svg?logo=discord)](https://discord.gg/BBYwKq)

Expand All @@ -32,7 +32,9 @@ extern crate crossbeam_deque;

## Compatibility

The minimum supported Rust version is 1.28. Any change to this is considered a breaking change.
Crossbeam Deque supports stable Rust releases going back at least six months,
and every time the minimum supported Rust version is increased, a new minor
version is released. Currently, the minimum supported Rust version is 1.36.

## License

Expand Down
6 changes: 1 addition & 5 deletions crossbeam-deque/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -92,23 +92,19 @@
extern crate crossbeam_epoch as epoch;
extern crate crossbeam_utils as utils;

extern crate maybe_uninit;

use std::cell::{Cell, UnsafeCell};
use std::cmp;
use std::fmt;
use std::iter::FromIterator;
use std::marker::PhantomData;
use std::mem;
use std::mem::{self, MaybeUninit};
use std::ptr;
use std::sync::atomic::{self, AtomicIsize, AtomicPtr, AtomicUsize, Ordering};
use std::sync::Arc;

use epoch::{Atomic, Owned};
use utils::{Backoff, CachePadded};

use maybe_uninit::MaybeUninit;

// Minimum buffer capacity.
const MIN_CAP: usize = 64;
// Maximum number of tasks that can be stolen in `steal_batch()` and `steal_batch_and_pop()`.
Expand Down
4 changes: 0 additions & 4 deletions crossbeam-epoch/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,6 @@ sanitize = [] # Makes it more likely to trigger any potential data races.

[dependencies]
cfg-if = "0.1.2"
maybe-uninit = "2.0.0"
memoffset = "0.5"

[dependencies.crossbeam-utils]
Expand All @@ -40,8 +39,5 @@ optional = true
version = "1"
default-features = false

[build-dependencies]
autocfg = "1"

[dev-dependencies]
rand = "0.6"
6 changes: 4 additions & 2 deletions crossbeam-epoch/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ https://github.com/crossbeam-rs/crossbeam-epoch)
https://crates.io/crates/crossbeam-epoch)
[![Documentation](https://docs.rs/crossbeam-epoch/badge.svg)](
https://docs.rs/crossbeam-epoch)
[![Rust 1.28+](https://img.shields.io/badge/rust-1.28+-lightgray.svg)](
[![Rust 1.36+](https://img.shields.io/badge/rust-1.36+-lightgray.svg)](
https://www.rust-lang.org)
[![chat](https://img.shields.io/discord/569610676205781012.svg?logo=discord)](https://discord.gg/BBYwKq)

Expand Down Expand Up @@ -39,7 +39,9 @@ extern crate crossbeam_epoch as epoch;

## Compatibility

The minimum supported Rust version is 1.28. Any change to this is considered a breaking change.
Crossbeam Epoch supports stable Rust releases going back at least six months,
and every time the minimum supported Rust version is increased, a new minor
version is released. Currently, the minimum supported Rust version is 1.36.

## License

Expand Down
8 changes: 0 additions & 8 deletions crossbeam-epoch/build.rs

This file was deleted.

18 changes: 0 additions & 18 deletions crossbeam-epoch/src/atomic.rs
Original file line number Diff line number Diff line change
Expand Up @@ -150,24 +150,6 @@ impl<T> Atomic<T> {
///
/// let a = Atomic::<i32>::null();
/// ```
#[cfg(not(has_min_const_fn))]
pub fn null() -> Atomic<T> {
Self {
data: AtomicUsize::new(0),
_marker: PhantomData,
}
}

/// Returns a new null atomic pointer.
///
/// # Examples
///
/// ```
/// use crossbeam_epoch::Atomic;
///
/// let a = Atomic::<i32>::null();
/// ```
#[cfg(has_min_const_fn)]
pub const fn null() -> Atomic<T> {
Self {
data: AtomicUsize::new(0),
Expand Down
4 changes: 1 addition & 3 deletions crossbeam-epoch/src/deferred.rs
Original file line number Diff line number Diff line change
@@ -1,11 +1,9 @@
use alloc::boxed::Box;
use core::fmt;
use core::marker::PhantomData;
use core::mem;
use core::mem::{self, MaybeUninit};
use core::ptr;

use maybe_uninit::MaybeUninit;

/// Number of words a piece of `Data` can hold.
///
/// Three words should be enough for the majority of cases. For example, you can fit inside it the
Expand Down
2 changes: 0 additions & 2 deletions crossbeam-epoch/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -64,8 +64,6 @@ extern crate cfg_if;
#[cfg(feature = "std")]
extern crate core;

extern crate maybe_uninit;

cfg_if! {
if #[cfg(feature = "alloc")] {
extern crate alloc;
Expand Down
3 changes: 1 addition & 2 deletions crossbeam-epoch/src/sync/queue.rs
Original file line number Diff line number Diff line change
Expand Up @@ -8,12 +8,11 @@
//! Simon Doherty, Lindsay Groves, Victor Luchangco, and Mark Moir. 2004b. Formal Verification of a
//! Practical Lock-Free Queue Algorithm. https://doi.org/10.1007/978-3-540-30232-2_7
use core::mem::MaybeUninit;
use core::sync::atomic::Ordering::{Acquire, Relaxed, Release};

use crossbeam_utils::CachePadded;

use maybe_uninit::MaybeUninit;

use {unprotected, Atomic, Guard, Owned, Shared};

// The representation here is a singly-linked list, with a sentinel node at the front. In general
Expand Down
1 change: 0 additions & 1 deletion crossbeam-queue/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,6 @@ nightly = []

[dependencies]
cfg-if = "0.1.2"
maybe-uninit = "2.0.0"

[dependencies.crossbeam-utils]
version = "0.7"
Expand Down
6 changes: 4 additions & 2 deletions crossbeam-queue/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ https://github.com/crossbeam-rs/crossbeam-queue/tree/master/src)
https://crates.io/crates/crossbeam-queue)
[![Documentation](https://docs.rs/crossbeam-queue/badge.svg)](
https://docs.rs/crossbeam-queue)
[![Rust 1.28+](https://img.shields.io/badge/rust-1.28+-lightgray.svg)](
[![Rust 1.36+](https://img.shields.io/badge/rust-1.36+-lightgray.svg)](
https://www.rust-lang.org)
[![chat](https://img.shields.io/discord/569610676205781012.svg?logo=discord)](https://discord.gg/BBYwKq)

Expand Down Expand Up @@ -37,7 +37,9 @@ extern crate crossbeam_queue;

## Compatibility

The minimum supported Rust version is 1.28. Any change to this is considered a breaking change.
Crossbeam Queue supports stable Rust releases going back at least six months,
and every time the minimum supported Rust version is increased, a new minor
version is released. Currently, the minimum supported Rust version is 1.36.

## License

Expand Down
4 changes: 1 addition & 3 deletions crossbeam-queue/src/array_queue.rs
Original file line number Diff line number Diff line change
Expand Up @@ -12,13 +12,11 @@ use alloc::vec::Vec;
use core::cell::UnsafeCell;
use core::fmt;
use core::marker::PhantomData;
use core::mem;
use core::mem::{self, MaybeUninit};
use core::sync::atomic::{self, AtomicUsize, Ordering};

use crossbeam_utils::{Backoff, CachePadded};

use maybe_uninit::MaybeUninit;

use err::{PopError, PushError};

/// A slot in a queue.
Expand Down
2 changes: 0 additions & 2 deletions crossbeam-queue/src/lib.rs
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,6 @@ extern crate cfg_if;
#[cfg(feature = "std")]
extern crate core;

extern crate maybe_uninit;

cfg_if! {
if #[cfg(feature = "alloc")] {
extern crate alloc;
Expand Down
3 changes: 1 addition & 2 deletions crossbeam-queue/src/seg_queue.rs
Original file line number Diff line number Diff line change
Expand Up @@ -2,13 +2,12 @@ use alloc::boxed::Box;
use core::cell::UnsafeCell;
use core::fmt;
use core::marker::PhantomData;
use core::mem::MaybeUninit;
use core::ptr;
use core::sync::atomic::{self, AtomicPtr, AtomicUsize, Ordering};

use crossbeam_utils::{Backoff, CachePadded};

use maybe_uninit::MaybeUninit;

use err::PopError;

// Bits indicating the state of a slot:
Expand Down
6 changes: 4 additions & 2 deletions crossbeam-skiplist/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,7 +8,7 @@ https://github.com/crossbeam-rs/crossbeam-skiplist)
https://crates.io/crates/crossbeam-skiplist)
[![Documentation](https://docs.rs/crossbeam-skiplist/badge.svg)](
https://docs.rs/crossbeam-skiplist)
[![Rust 1.28+](https://img.shields.io/badge/rust-1.28+-lightgray.svg)](
[![Rust 1.36+](https://img.shields.io/badge/rust-1.36+-lightgray.svg)](
https://www.rust-lang.org)
[![chat](https://img.shields.io/discord/569610676205781012.svg?logo=discord)](https://discord.gg/BBYwKq)

Expand All @@ -35,7 +35,9 @@ extern crate crossbeam_skiplist;

## Compatibility

The minimum supported Rust version is 1.28. Any change to this is considered a breaking change.
Crossbeam Skiplist supports stable Rust releases going back at least six months,
and every time the minimum supported Rust version is increased, a new minor
version is released. Currently, the minimum supported Rust version is 1.36.

## License

Expand Down
Loading

0 comments on commit 321110b

Please sign in to comment.