Skip to content

Commit eea9804

Browse files
committed
Auto merge of #572 - cuviper:ci-msrv, r=Amanieu
ci: test the MSRV with minimal dependency versions This includes a slight bump of rayon for use of `ParallelIterator::copied`, and `pub(crate)` on `raw::Tag` because older compilers complain about the `pub(crate)` methods that expose it.
2 parents 20170b8 + 066fd99 commit eea9804

File tree

3 files changed

+17
-5
lines changed

3 files changed

+17
-5
lines changed

.github/workflows/rust.yml

+14-2
Original file line numberDiff line numberDiff line change
@@ -78,6 +78,18 @@ jobs:
7878
target: x86_64-unknown-linux-gnu
7979
channel: stable
8080

81+
msrv:
82+
runs-on: ubuntu-latest
83+
needs: basics
84+
steps:
85+
- uses: actions/checkout@v3
86+
- uses: dtolnay/rust-toolchain@nightly
87+
- uses: dtolnay/[email protected] # MSRV
88+
- run: cargo +nightly generate-lockfile -Z direct-minimal-versions
89+
- env:
90+
TARGET: x86_64-unknown-linux-gnu
91+
run: sh ci/run.sh
92+
8193
# These jobs doesn't actually test anything, but they're only used to tell
8294
# bors the build completed, as there is no practical way to detect when a
8395
# workflow is successful listening to webhooks only.
@@ -88,7 +100,7 @@ jobs:
88100
name: bors build finished
89101
if: github.event.pusher.name == 'bors' && success()
90102
runs-on: ubuntu-latest
91-
needs: [miri, rustfmt_clippy, test]
103+
needs: [miri, rustfmt_clippy, test, msrv]
92104

93105
steps:
94106
- name: Mark the job as successful
@@ -98,7 +110,7 @@ jobs:
98110
name: bors build finished
99111
if: github.event.pusher.name == 'bors' && (failure() || cancelled())
100112
runs-on: ubuntu-latest
101-
needs: [miri, rustfmt_clippy, test]
113+
needs: [miri, rustfmt_clippy, test, msrv]
102114

103115
steps:
104116
- name: Mark the job as a failure

Cargo.toml

+2-2
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ rust-version = "1.65.0"
1717
foldhash = { version = "0.1.2", default-features = false, optional = true }
1818

1919
# For external trait impls
20-
rayon = { version = "1.0", optional = true }
20+
rayon = { version = "1.2", optional = true }
2121
serde = { version = "1.0.25", default-features = false, optional = true }
2222

2323
# When built as part of libstd
@@ -36,7 +36,7 @@ equivalent = { version = "1.0", optional = true, default-features = false }
3636
[dev-dependencies]
3737
lazy_static = "1.4"
3838
rand = { version = "0.8.3", features = ["small_rng"] }
39-
rayon = "1.0"
39+
rayon = "1.2"
4040
fnv = "1.0.7"
4141
serde_test = "1.0"
4242
doc-comment = "0.3.1"

src/raw/mod.rs

+1-1
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ impl<T> SizedTypeProperties for T {}
105105
/// Single tag in a control group.
106106
#[derive(Copy, Clone, PartialEq, Eq, Debug)]
107107
#[repr(transparent)]
108-
struct Tag(u8);
108+
pub(crate) struct Tag(u8);
109109
impl Tag {
110110
/// Control tag value for an empty bucket.
111111
const EMPTY: Tag = Tag(0b1111_1111);

0 commit comments

Comments
 (0)