Skip to content

Commit e733110

Browse files
bors[bot]taiki-e
andauthored
Merge #796 #881
796: epoch: Remove ptr-to-int casts r=taiki-e a=taiki-e Use [this hack](rust-lang/miri#1866 (comment)) to fix compatibility issues with Miri (see #490 (comment) for details). Due to the #545, still not compatible with stacked borrows. This will be fixed by the subsequent PR (#871). Note: this is a breaking change because changes API of Pointable and Pointer traits Fixes #579 881: Remove deprecated items r=taiki-e a=taiki-e This removes the following deprecated items: - crossbeam-epoch: - `CompareAndSetError` - `CompareAndSetOrdering` - `Atomic::compare_and_set` - `Atomic::compare_and_set_weak` - crossbeam-utils: - `AtomicCell::compare_and_swap` Co-authored-by: Taiki Endo <[email protected]>
3 parents 1ea6c55 + 46d0777 + d3187be commit e733110

File tree

8 files changed

+174
-340
lines changed

8 files changed

+174
-340
lines changed

Cargo.toml

+4
Original file line numberDiff line numberDiff line change
@@ -86,3 +86,7 @@ members = [
8686
"crossbeam-skiplist",
8787
"crossbeam-utils",
8888
]
89+
90+
[patch.crates-io]
91+
# https://github.com/matklad/once_cell/pull/185
92+
once_cell = { git = "https://github.com/saethlin/once_cell.git", rev = "4aa5ac4aa30b9eed4a0848f3ad22a5eeb025760d" }

ci/miri.sh

+12-9
Original file line numberDiff line numberDiff line change
@@ -9,33 +9,36 @@ echo
99

1010
export RUSTFLAGS="${RUSTFLAGS:-} -Z randomize-layout"
1111

12-
MIRIFLAGS="-Zmiri-symbolic-alignment-check -Zmiri-disable-isolation" \
12+
MIRIFLAGS="-Zmiri-strict-provenance -Zmiri-symbolic-alignment-check -Zmiri-disable-isolation" \
1313
cargo miri test \
1414
-p crossbeam-queue \
1515
-p crossbeam-utils 2>&1 | ts -i '%.s '
1616

1717
# -Zmiri-ignore-leaks is needed because we use detached threads in tests/docs: https://github.com/rust-lang/miri/issues/1371
18-
MIRIFLAGS="-Zmiri-symbolic-alignment-check -Zmiri-disable-isolation -Zmiri-ignore-leaks" \
18+
MIRIFLAGS="-Zmiri-strict-provenance -Zmiri-symbolic-alignment-check -Zmiri-disable-isolation -Zmiri-ignore-leaks" \
1919
cargo miri test \
2020
-p crossbeam-channel 2>&1 | ts -i '%.s '
2121

22-
# -Zmiri-ignore-leaks is needed for https://github.com/crossbeam-rs/crossbeam/issues/579
2322
# -Zmiri-disable-stacked-borrows is needed for https://github.com/crossbeam-rs/crossbeam/issues/545
24-
MIRIFLAGS="-Zmiri-symbolic-alignment-check -Zmiri-disable-isolation -Zmiri-disable-stacked-borrows -Zmiri-ignore-leaks" \
23+
MIRIFLAGS="-Zmiri-strict-provenance -Zmiri-symbolic-alignment-check -Zmiri-disable-isolation -Zmiri-disable-stacked-borrows" \
24+
cargo miri test \
25+
-p crossbeam-epoch 2>&1 | ts -i '%.s '
26+
27+
# -Zmiri-ignore-leaks is needed for https://github.com/crossbeam-rs/crossbeam/issues/614
28+
# -Zmiri-disable-stacked-borrows is needed for https://github.com/crossbeam-rs/crossbeam/issues/545
29+
MIRIFLAGS="-Zmiri-strict-provenance -Zmiri-symbolic-alignment-check -Zmiri-disable-isolation -Zmiri-disable-stacked-borrows -Zmiri-ignore-leaks" \
2530
cargo miri test \
26-
-p crossbeam-epoch \
2731
-p crossbeam-skiplist 2>&1 | ts -i '%.s '
2832

29-
# -Zmiri-ignore-leaks is needed for https://github.com/crossbeam-rs/crossbeam/issues/579
3033
# -Zmiri-disable-stacked-borrows is needed for https://github.com/crossbeam-rs/crossbeam/issues/545
3134
# -Zmiri-compare-exchange-weak-failure-rate=0.0 is needed because some sequential tests (e.g.,
3235
# doctest of Stealer::steal) incorrectly assume that sequential weak CAS will never fail.
3336
# -Zmiri-preemption-rate=0 is needed because this code technically has UB and Miri catches that.
34-
MIRIFLAGS="-Zmiri-symbolic-alignment-check -Zmiri-disable-stacked-borrows -Zmiri-ignore-leaks -Zmiri-compare-exchange-weak-failure-rate=0.0 -Zmiri-preemption-rate=0" \
37+
MIRIFLAGS="-Zmiri-strict-provenance -Zmiri-symbolic-alignment-check -Zmiri-disable-stacked-borrows -Zmiri-compare-exchange-weak-failure-rate=0.0 -Zmiri-preemption-rate=0" \
3538
cargo miri test \
3639
-p crossbeam-deque 2>&1 | ts -i '%.s '
3740

38-
# -Zmiri-ignore-leaks is needed for https://github.com/crossbeam-rs/crossbeam/issues/579
39-
MIRIFLAGS="-Zmiri-symbolic-alignment-check -Zmiri-ignore-leaks" \
41+
# -Zmiri-disable-stacked-borrows is needed for https://github.com/crossbeam-rs/crossbeam/issues/545
42+
MIRIFLAGS="-Zmiri-strict-provenance -Zmiri-symbolic-alignment-check -Zmiri-disable-stacked-borrows" \
4043
cargo miri test \
4144
-p crossbeam 2>&1 | ts -i '%.s '

0 commit comments

Comments
 (0)