diff options
| author | Yuki Okushi <jtitor@2k36.org> | 2021-06-05 06:13:29 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-06-05 06:13:29 +0900 |
| commit | 756431211d3960c40c974e40a82d206595cb41f4 (patch) | |
| tree | 79d1113ea92e59cef873908d97209fbd95895ce9 | |
| parent | efc4e377bf5af45447d63a7e46e2976324df5a27 (diff) | |
| parent | 3412957e7f50a586f8ac2c12d0ffd0384d546534 (diff) | |
| download | rust-756431211d3960c40c974e40a82d206595cb41f4.tar.gz rust-756431211d3960c40c974e40a82d206595cb41f4.zip | |
Rollup merge of #83653 - jyn514:unused-sync-code, r=wesleywiser
Remove unused code from `rustc_data_structures::sync` Found using https://github.com/est31/warnalyzer. Follow-up to https://github.com/rust-lang/rust/pull/83185. r? `@Zoxc` cc `@oli-obk`
| -rw-r--r-- | compiler/rustc_data_structures/src/sync.rs | 62 |
1 files changed, 2 insertions, 60 deletions
diff --git a/compiler/rustc_data_structures/src/sync.rs b/compiler/rustc_data_structures/src/sync.rs index 26706cd2b1b..722ce6b6367 100644 --- a/compiler/rustc_data_structures/src/sync.rs +++ b/compiler/rustc_data_structures/src/sync.rs @@ -43,49 +43,9 @@ cfg_if! { use std::ops::Add; use std::panic::{resume_unwind, catch_unwind, AssertUnwindSafe}; - /// This is a single threaded variant of AtomicCell provided by crossbeam. - /// Unlike `Atomic` this is intended for all `Copy` types, - /// but it lacks the explicit ordering arguments. - #[derive(Debug)] - pub struct AtomicCell<T: Copy>(Cell<T>); - - impl<T: Copy> AtomicCell<T> { - #[inline] - pub fn new(v: T) -> Self { - AtomicCell(Cell::new(v)) - } - - #[inline] - pub fn get_mut(&mut self) -> &mut T { - self.0.get_mut() - } - } - - impl<T: Copy> AtomicCell<T> { - #[inline] - pub fn into_inner(self) -> T { - self.0.into_inner() - } - - #[inline] - pub fn load(&self) -> T { - self.0.get() - } - - #[inline] - pub fn store(&self, val: T) { - self.0.set(val) - } - - #[inline] - pub fn swap(&self, val: T) -> T { - self.0.replace(val) - } - } - /// This is a single threaded variant of `AtomicU64`, `AtomicUsize`, etc. - /// It differs from `AtomicCell` in that it has explicit ordering arguments - /// and is only intended for use with the native atomic types. + /// It has explicit ordering arguments and is only intended for use with + /// the native atomic types. /// You should use this type through the `AtomicU64`, `AtomicUsize`, etc, type aliases /// as it's not intended to be used separately. #[derive(Debug)] @@ -159,22 +119,6 @@ cfg_if! { (oper_a(), oper_b()) } - pub struct SerialScope; - - impl SerialScope { - pub fn spawn<F>(&self, f: F) - where F: FnOnce(&SerialScope) - { - f(self) - } - } - - pub fn scope<F, R>(f: F) -> R - where F: FnOnce(&SerialScope) -> R - { - f(&SerialScope) - } - #[macro_export] macro_rules! parallel { ($($blocks:tt),*) => { @@ -318,8 +262,6 @@ cfg_if! { pub use std::sync::atomic::{AtomicBool, AtomicUsize, AtomicU32, AtomicU64}; - pub use crossbeam_utils::atomic::AtomicCell; - pub use std::sync::Arc as Lrc; pub use std::sync::Weak as Weak; |
