about summary refs log tree commit diff
path: root/compiler/rustc_data_structures/Cargo.toml
AgeCommit message (Collapse)AuthorLines
2024-02-18windows bump to 0.52klensy-1/+1
2024-02-09Update jobserver-rs to 0.1.28Vadim Petrochenkov-1/+1
2024-01-24rustc_data_structures: use either instead of itertoolsJosh Stone-1/+1
2024-01-13Update measureme crate to version 11Michael Woerister-1/+1
2023-12-30Update to bitflags 2 in the compilerNilstrieb-1/+1
This involves lots of breaking changes. There are two big changes that force changes. The first is that the bitflag types now don't automatically implement normal derive traits, so we need to derive them manually. Additionally, bitflags now have a hidden inner type by default, which breaks our custom derives. The bitflags docs recommend using the impl form in these cases, which I did.
2023-11-29jobserver: check file descriptorsbelovdv-1/+1
2023-11-22Update itertools to 0.11.Nicholas Nethercote-1/+1
Because the API for `with_position` improved in 0.11 and I want to use it.
2023-11-06use portable AtomicU64 for powerPC and MIPSSparrowLii-0/+3
2023-10-30Clean up `rustc_*/Cargo.toml`.Nicholas Nethercote-11/+11
- Sort dependencies and features sections. - Add `tidy` markers to the sorted sections so they stay sorted. - Remove empty `[lib`] sections. - Remove "See more keys..." comments. Excluded files: - rustc_codegen_{cranelift,gcc}, because they're external. - rustc_lexer, because it has external use. - stable_mir, because it has external use.
2023-10-19Initiate the inner usage of `cfg_match`Caio-1/+0
2023-08-03bump parking_lot 0.11 to 0.12klensy-1/+1
2023-07-03Upgrade to indexmap 2.0.0Josh Stone-1/+1
The new version was already added to the tree as an indirect dependency in #113046, but now our direct dependents are using it too.
2023-05-13Auto merge of #107586 - SparrowLii:parallel-query, r=cjgillotbors-0/+1
Introduce `DynSend` and `DynSync` auto trait for parallel compiler part of parallel-rustc #101566 This PR introduces `DynSend / DynSync` trait and `FromDyn / IntoDyn` structure in rustc_data_structure::marker. `FromDyn` can dynamically check data structures for thread safety when switching to parallel environments (such as calling `par_for_each_in`). This happens only when `-Z threads > 1` so it doesn't affect single-threaded mode's compile efficiency. r? `@cjgillot`
2023-05-09bump windows crate 0.46 -> 0.48 in workspaceklensy-1/+1
2023-05-06introduce `DynSend` and `DynSync` auto traitSparrowLii-0/+1
2023-04-22drop unused deps, gate libc under unix for one crateklensy-1/+0
2023-04-16Don't use `serde_json` to serialize a simple JSON objectNilstrieb-1/+0
This avoids `rustc_data_structures` depending on `serde_json` which allows it to be compiled much earlier, unlocking most of rustc.
2023-04-11Use `itertools::Either` instead of own `EitherIter` implMaybe Waffle-0/+1
2023-04-05Use elsa =1.7.1 as 1.8.0 was an accidental copy of 1.7.0Oli Scherer-1/+1
2023-03-25Update indexmap and rayon cratesJohn Kåre Alsaker-4/+4
2023-03-21Add `-Z time-passes-format` to allow specifying a JSON output for `-Z ↵John Kåre Alsaker-0/+1
time-passes`
2023-03-20migrate compiler, bootstrap, and compiletest to windows-rsAndy Russell-2/+9
2023-03-17Fast path that skips over unchanged obligations in process_obligationsThe 8472-1/+1
- only borrow the refcell once per loop - avoid complex matches to reduce branch paths in the hot loop - use a by-ref fast path that avoids mutations at the expense of having false negatives
2023-02-24Upgrade `ena` to 0.14.1.Nicholas Nethercote-1/+1
To get the small performance improvements from https://github.com/rust-lang/ena/pull/43.
2023-02-22Auto merge of #108300 - oli-obk:elsa, r=eholkbors-0/+1
Use a lock-free datastructure for source_span follow up to the perf regression in https://github.com/rust-lang/rust/pull/105462 The main regression is likely the CStore, but let's evaluate the perf impact of this on its own
2023-02-21Use a lock-free datastructure for `source_span`Oli Scherer-0/+1
2023-02-21Upgrade `thin-vec` from 0.2.9 to 0.2.12.Nicholas Nethercote-1/+1
Because 0.2.10 added supports for `ThinVec::splice`, and 0.2.12 is the latest release.
2022-12-20Bump `cfg-if` to `1.0`Chris Denton-2/+6
2022-11-05Update several crates for improved support of the new targetsMateusz Mikuła-1/+1
This helps with `*-windows-gnullvm` targets
2022-11-02rustdoc: use ThinVec for cleaned genericsMichael Howell-1/+1
2022-09-29Remove from compiler/ cratesreez12g-1/+0
2022-08-29Replace `rustc_data_structures::thin_vec::ThinVec` with `thin_vec::ThinVec`.Nicholas Nethercote-11/+12
`rustc_data_structures::thin_vec::ThinVec` looks like this: ``` pub struct ThinVec<T>(Option<Box<Vec<T>>>); ``` It's just a zero word if the vector is empty, but requires two allocations if it is non-empty. So it's only usable in cases where the vector is empty most of the time. This commit removes it in favour of `thin_vec::ThinVec`, which is also word-sized, but stores the length and capacity in the same allocation as the elements. It's good in a wider variety of situation, e.g. in enum variants where the vector is usually/always non-empty. The commit also: - Sorts some `Cargo.toml` dependency lists, to make additions easier. - Sorts some `use` item lists, to make additions easier. - Changes `clean_trait_ref_with_bindings` to take a `ThinVec<TypeBinding>` rather than a `&[TypeBinding]`, because this avoid some unnecessary allocations.
2022-07-17Upgrade indexmap and thorin-dwp to use hashbrown 0.12Josh Stone-1/+1
This removes the last dependencies on hashbrown 0.11.
2022-06-27Update `smallvec` to 1.8.1.Nicholas Nethercote-1/+1
This pulls in https://github.com/servo/rust-smallvec/pull/282, which gives some small wins for rustc.
2022-05-27Update to rebased rustc-rayon 0.4Josh Stone-3/+3
2022-03-28Propagate `parallel_compiler` feature through rustc crates. Turned off ↵klensy-3/+6
feature gives change of builded crates: 238 -> 224.
2022-03-04Add SmallStrTomasz Miąsko-1/+1
2022-01-22Use an `indexmap` to avoid sorting `LocalDefId`spierwill-1/+1
Update `indexmap` to 1.8.0. Bless test
2022-01-10Update rayon and rustc-rayonJosh Stone-2/+2
2021-10-07Update to measureme v10Ryan Levick-1/+1
2021-10-07Add support for artifact size profilingRyan Levick-1/+1
2021-09-20Migrate to 2021Mark Rousskov-1/+1
2021-08-28Update stacker and psm cratesMateusz Mikuła-1/+1
2021-07-29rfc3052: Remove authors field from Cargo manifestsJade-1/+0
Since RFC 3052 soft deprecated the authors field anyway, hiding it from crates.io, docs.rs, and making Cargo not add it by default, and it is not generally up to date/useful information, we should remove it from crates in this repo.
2021-06-25rustc_data_structures: Drop unused dependency on crossbeam-utilsJosh Triplett-1/+0
rustc_data_structures has a dependency on crossbeam-utils but never uses it. It appears to have originally had this dependency in order to set the "nightly" feature; however, its other dependencies use a different version of crossbeam-utils, so this doesn't actually affect anything. Furthermore, in current crossbeam-utils, the "nightly" feature has become a no-op.
2021-05-25Don't panic when failing to initialize incremental directory.Eric Huss-1/+1
2021-04-29Auto merge of #84614 - RalfJung:daily, r=Mark-Simulacrumbors-1/+0
don't enable parking_lot nightly features Having the compiler itself depend on external libraries that use nightly features can lead to "fun" bootstrap situations. Within the rustc repo we use `cfg(bootstrap)` to resolve those, but that is not a reasonable option for external dependencies. So I propose we stop enabling the "nightly" feature of `parking_lot` here. In my experiments, this then indeed leads to the feature not being enabled (i.e., nothing else enables it), and everything still builds. However, this means parking_lot's `RwLock` will no longer have hardware lock elision for readers -- I hope that is okay to lose in exchange for less bootstrap brain twisting. ;) Cc `@Amanieu`
2021-04-27don't enable parking_lot nightly featuresRalf Jung-1/+0
2021-04-23Use latest crossbeamJubilee Young-1/+1
2021-04-23Use tempfileJubilee Young-1/+1