diff --git a/src/libsyntax/tokenstream.rs b/src/libsyntax/tokenstream.rs index 2daec970279..b32049b1da8 100644 --- a/src/libsyntax/tokenstream.rs +++ b/src/libsyntax/tokenstream.rs @@ -59,17 +59,6 @@ where TokenStream: Send + Sync, {} -// These are safe since we ensure that they hold for all fields in the `_dummy` function. -// -// These impls are only here because the compiler takes forever to compute the Send and Sync -// bounds without them. -// FIXME: Remove these impls when the compiler can compute the bounds quickly again. -// See https://github.com/rust-lang/rust/issues/60846 -#[cfg(parallel_compiler)] -unsafe impl Send for TokenTree {} -#[cfg(parallel_compiler)] -unsafe impl Sync for TokenTree {} - impl TokenTree { /// Use this token tree as a matcher to parse given tts. pub fn parse(cx: &base::ExtCtxt<'_>, mtch: &[quoted::TokenTree], tts: TokenStream) diff --git a/src/libsyntax_pos/lib.rs b/src/libsyntax_pos/lib.rs index 8f5595968a7..d81cb756b02 100644 --- a/src/libsyntax_pos/lib.rs +++ b/src/libsyntax_pos/lib.rs @@ -227,14 +227,6 @@ impl SpanData { } } -// The interner is pointed to by a thread local value which is only set on the main thread -// with parallelization is disabled. So we don't allow `Span` to transfer between threads -// to avoid panics and other errors, even though it would be memory safe to do so. -#[cfg(not(parallel_compiler))] -impl !Send for Span {} -#[cfg(not(parallel_compiler))] -impl !Sync for Span {} - impl PartialOrd for Span { fn partial_cmp(&self, rhs: &Self) -> Option { PartialOrd::partial_cmp(&self.data(), &rhs.data())