about summary refs log tree commit diff
path: root/tests/mir-opt/lower_array_len.array_bound.NormalizeArrayLen.panic-abort.diff
diff options
context:
space:
mode:
authorQuietMisdreavus <grey@quietmisdreavus.net>2018-09-01 21:20:39 -0500
committerQuietMisdreavus <grey@quietmisdreavus.net>2018-09-20 05:54:26 -0500
commit354507e61f303d6c86fa0f832e1081d40c2d89c2 (patch)
tree78018eecb526a95eae5f5c63fc649045cb9623e4 /tests/mir-opt/lower_array_len.array_bound.NormalizeArrayLen.panic-abort.diff
parentc754e8240cfbeeaca1672c349eccba3d050f866c (diff)
downloadrust-354507e61f303d6c86fa0f832e1081d40c2d89c2.tar.gz
rust-354507e61f303d6c86fa0f832e1081d40c2d89c2.zip
shuffle ownership of `external_traits`
constraints:

- clean/inline.rs needs this map to fill in traits when inlining
- fold.rs needs this map to allow passes to fold trait items
- html/render.rs needs this map to seed the Cache.traits map of all
  known traits

The first two are the real problem, since `DocFolder` only operates on
`clean::Crate` but `clean/inline.rs` only sees the `DocContext`. The
introduction of early passes means that these two now exist at the same
time, so they need to share ownership of the map. Even better, the use
of `Crate` in a rustc thread pool means that it needs to be Sync, so it
can't use `Lrc<Lock>` to manually activate thread-safety.

`parking_lot` is reused from elsewhere in the tree to allow use of its
`ReentrantMutex`, as the relevant parts of rustdoc are still
single-threaded and this allows for easier use in that context.
Diffstat (limited to 'tests/mir-opt/lower_array_len.array_bound.NormalizeArrayLen.panic-abort.diff')
0 files changed, 0 insertions, 0 deletions