Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

v0.8: Prepare for the next release #1050

Merged
merged 25 commits into from
Dec 13, 2023
Merged

v0.8: Prepare for the next release #1050

merged 25 commits into from
Dec 13, 2023

Conversation

taiki-e
Copy link
Member

@taiki-e taiki-e commented Dec 13, 2023

Closes #1048

skiplist is in the master branch, so I'll release it in another PR.

taiki-e and others added 23 commits December 13, 2023 10:25
```
error: incorrect implementation of `clone` on a `Copy` type
    --> crossbeam-epoch/src/atomic.rs:1171:29
     |
1171 |       fn clone(&self) -> Self {
     |  _____________________________^
1172 | |         Self {
1173 | |             data: self.data,
1174 | |             _marker: PhantomData,
1175 | |         }
1176 | |     }
     | |_____^ help: change this to: `{ *self }`
     |
     = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incorrect_clone_impl_on_copy_type
     = note: `#[deny(clippy::incorrect_clone_impl_on_copy_type)]` on by default

error: incorrect implementation of `clone` on a `Copy` type
  --> crossbeam-deque/src/deque.rs:82:34
   |
82 |       fn clone(&self) -> Buffer<T> {
   |  __________________________________^
83 | |         Buffer {
84 | |             ptr: self.ptr,
85 | |             cap: self.cap,
86 | |         }
87 | |     }
   | |_____^ help: change this to: `{ *self }`
   |
   = help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#incorrect_clone_impl_on_copy_type
   = note: `#[deny(clippy::incorrect_clone_impl_on_copy_type)]` on by default
```
```
error: call to `.clone()` on a reference in this situation does nothing
  --> crossbeam-epoch/src/guard.rs:451:38
   |
14 |     let dummy = &epoch::unprotected().clone();
   |                                      ^^^^^^^^ help: remove this redundant call
   |
   = note: the type `Guard` does not implement `Clone`, so calling `clone` on `&Guard` copies the reference, which does not do anything and can be removed
note: the lint level is defined here
  --> crossbeam-epoch/src/guard.rs:438:9
   |
1  | #![deny(warnings, rust_2018_idioms)]
   |         ^^^^^^^^
   = note: `#[deny(noop_method_call)]` implied by `#[deny(warnings)]`
```
The perf c2c data shows lots of cacheline contention were caused by
false sharing between epoch and other field in "Local" struct. So
use CachePadded class to align it to another cacheline to resolve
this issue.
core::panic::{,Ref}UnwindSafe is available on Rust 1.56+.
Replaces #724.

Co-authored-by: Enkelmann <nils-edvin.enkelmann@fkie.fraunhofer.de>
sticnarf and others added 2 commits December 13, 2023 22:24
Signed-off-by: Yilin Chen <sticnarf@gmail.com>
- crossbeam-channel 0.5.8 -> 0.5.9
- crossbeam-deque 0.8.3 -> 0.8.4
- crossbeam-epoch 0.9.15 -> 0.9.16
- crossbeam-queue 0.3.8 -> 0.3.9
- crossbeam-utils 0.8.16 -> 0.8.17
@taiki-e taiki-e merged commit 62024f1 into v0.8 Dec 13, 2023
20 checks passed
@taiki-e taiki-e deleted the v0.8-next branch December 13, 2023 14:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

4 participants