Maybe Waffle
e39d61cbf3
Remove MetadataRef
type alias
2023-05-16 11:55:47 +00:00
Maybe Waffle
2eef27a6c1
Merge MetadataRef
type aliases
2023-05-16 11:43:25 +00:00
SparrowLii
089a38880b
correct literals for dyn thread safe
2023-05-06 09:34:53 +08:00
SparrowLii
9f8ab2a8d3
rename relative names in sync
2023-05-06 09:34:24 +08:00
SparrowLii
f196e27d87
fix parallel!
2023-05-06 09:34:22 +08:00
SparrowLii
261b727d76
fix some nits
2023-05-06 09:34:21 +08:00
SparrowLii
b9746ce039
introduce DynSend
and DynSync
auto trait
2023-05-06 09:34:18 +08:00
John Kåre Alsaker
64474a40b0
Move the WorkerLocal type from the rustc-rayon fork into rustc_data_structures
2023-04-16 05:50:57 +02:00
bors
0f0dc29264
Auto merge of #109971 - WaffleLapkin:yeet_ownership, r=Nilstrieb
...
Yeet `owning_ref`
Based on the discussions from https://github.com/rust-lang/rust/pull/109948
This replaces `owning_ref` with a far simpler & safer abstraction.
Fixes #109974
2023-04-08 01:08:26 +00:00
Maybe Waffle
d7056548f9
Yeet owning_ref
...
Turns out
- `owning_ref` is unsound due to `Box` aliasing stuff
- `rustc` doesn't need 99% of the `owning_ref` API
- `rustc` can use a far simpler abstraction that is `OwnedSlice`
2023-04-05 13:49:48 +00:00
Maybe Waffle
c0ceefdfaf
Use OwnedSlice
instead of owning_ref
2023-04-05 13:49:48 +00:00
Maybe Waffle
689beda166
Implement OwnedSlice
2023-04-05 13:49:48 +00:00
Oli Scherer
54214c8d8d
Use a simpler atomic operation than the compare_exchange
hammer
2023-04-04 09:01:44 +00:00
Oli Scherer
daee746771
Add a usize-indexed append-only-vec
2023-04-04 09:01:44 +00:00
Oli Scherer
aad33198ff
Remove a fishy Clone impl
2023-04-04 09:01:44 +00:00
Nicholas Nethercote
0ccb60096a
Remove RwLock::clone_guard
.
...
It's unused.
2023-03-30 21:14:43 +11:00
Nicholas Nethercote
eeb5b782a6
Improve the rustc_data_structures::sync
module doc comment.
...
Also, `MTRef<'a, T>` is a typedef for a reference to a `T`, but in
practice it's only used (and useful) in combination with `MTLock`, i.e.
`MTRef<'a, MTLock<T>>`. So this commit changes it to be a typedef for a
reference to an `MTLock<T>`, and renames it as `MTLockRef`. I think this
clarifies things, because I found `MTRef` quite puzzling at first.
2023-03-30 21:14:37 +11:00
Oli Scherer
decfb4d123
Use a lock-free datastructure for source_span
2023-02-21 08:38:24 +00:00
David Tolnay
9e1c600f74
Disallow impl autotrait for trait object
2023-02-03 08:33:40 -08:00
KaDiWa
9bc69925cb
compiler: remove unnecessary imports and qualified paths
2022-12-10 18:45:34 +01:00
Maybe Waffle
f2b97a8bfe
Remove useless borrows and derefs
2022-12-01 17:34:43 +00:00
Cameron Steffen
10a5e75537
Add track_caller to some Lock methods
2022-11-01 12:28:14 -05:00
Joshua Nelson
d2c53caee2
Move Queries::new
out of the macro
2022-09-06 21:41:01 -05:00
Tshepang Mbambo
3f379f6df5
needless separation of impl blocks
2022-08-16 03:46:45 +02:00
SparrowLii
e2ecb68a0e
use par_for_each_in
in par_body_owners
and collect_crate_mono_items
2022-07-19 17:00:51 +08:00
Camille GILLOT
43bb31b954
Allow to create definitions inside the query system.
2022-07-06 22:50:55 +02:00
SparrowLii
ec137f29c5
catch unwind of every iter in parallel mode during wfcheck
2022-06-27 16:39:10 +08:00
Maybe Waffle
c1a2db3372
Move/rename lazy::Sync{OnceCell,Lazy}
to sync::{Once,Lazy}Lock
2022-06-16 19:54:42 +04:00
Maybe Waffle
7c360dc117
Move/rename lazy::{OnceCell, Lazy}
to cell::{OnceCell, LazyCell}
2022-06-16 19:53:59 +04:00
Frank Steffahn
bf88b113ea
Fix typos “a”→“an”
2021-08-22 15:35:11 +02:00
Joshua Nelson
3412957e7f
Unify parallel and non-parallel APIs
...
It's confusing for these to be different, even if some of the methods
are unused.
2021-06-04 15:26:08 -04:00
Joshua Nelson
1a5cc25525
Remove unused code from rustc_data_structures::sync
...
Found using https://github.com/est31/warnalyzer .
2021-06-04 15:25:05 -04:00
Tomasz Miąsko
79cc5099b1
Use RwLock instead of Lock for SourceMap::files
2020-10-29 18:09:53 +01:00
marmeladema
68500ffacb
datastructures: replace once_cell
crate with an impl from std
2020-08-30 20:06:14 +01:00
mark
9e5f7d5631
mv compiler to compiler/
2020-08-30 18:45:07 +03:00