put back the workarounds for #60846
based on https://github.com/rust-lang/rust/pull/61754#issuecomment-501743750 I am adding `bootstrap` to the cfg-preconditions for the two manual `unsafe impls`'s of `Send` and `Sync` for `TokenTree`.
This commit is contained in:
parent
bb97fe0bae
commit
0baa9258dd
1 changed files with 11 additions and 0 deletions
|
@ -59,6 +59,17 @@ 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(all(bootstrap, parallel_compiler))]
|
||||
unsafe impl Send for TokenTree {}
|
||||
#[cfg(all(bootstrap, 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)
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue