diff options
| author | bors <bors@rust-lang.org> | 2021-06-04 22:18:16 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2021-06-04 22:18:16 +0000 |
| commit | 704934d080024a130b4e5b79cd220c842883ac61 (patch) | |
| tree | 66beb2aae439227b03f79d195c7246d6d583f8be /compiler/rustc_data_structures/src | |
| parent | c79419af0721c614d050f09b95f076da09d37b0d (diff) | |
| parent | 062e789a73e729ae6a05f724b0b06c357aaa2ebd (diff) | |
| download | rust-704934d080024a130b4e5b79cd220c842883ac61.tar.gz rust-704934d080024a130b4e5b79cd220c842883ac61.zip | |
Auto merge of #86006 - JohnTitor:rollup-97iuoi3, r=JohnTitor
Rollup of 10 pull requests
Successful merges:
- #83653 (Remove unused code from `rustc_data_structures::sync`)
- #84466 (rustdoc: Remove `PrimitiveType::{to_url_str, as_str}`)
- #84880 (Make match in `register_res` easier to read)
- #84942 (rustdoc: link to stable/beta docs consistently in documentation)
- #85853 (Warn against boxed DST in `improper_ctypes_definitions` lint)
- #85939 (Fix suggestion for removing &mut from &mut macro!().)
- #85966 (wasm: Make simd types passed via indirection again)
- #85979 (don't suggest unsized indirection in where-clauses)
- #85983 (Update to semver 1.0.3)
- #85988 (Note that `ninja = false` goes under `[llvm]`)
Failed merges:
r? `@ghost`
`@rustbot` modify labels: rollup
Diffstat (limited to 'compiler/rustc_data_structures/src')
| -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; |
