Allow clippy warning for UnsafeCell in Arc #61
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Our
master
currently fails to pass CI becauseclippy
introduced a new warning.It suggests not to use
Arc<UnsafeCell<_>>
becauseUnsafeCell
implements!Sync
, implying thatRc
should be used rather thanArc
.However, the wrapping type is
Send, Sync, Clone
thus using anRc
is not an option.Using
SyncUnsafeCell
would resolve the warning, but sadly this is not stabilized yet.I carefully inspected the current implementation for soundness, and all seems to be good. We never use overlapping mutable slices. Though, I do think that we should restructure these core types to make better use of the type system and make misusing these types a lot harder.
Note that this also fixes use of a deprecated
chrono
function as it also prevents CI from succeeding.This is currently blocking: