about summary refs log tree commit diff
path: root/compiler/rustc_data_structures
AgeCommit message (Collapse)AuthorLines
2021-09-24consistent big O notationr00ster91-2/+2
2021-09-21Auto merge of #89158 - the8472:rollup-3e4ijth, r=the8472bors-1/+0
Rollup of 12 pull requests Successful merges: - #88795 (Print a note if a character literal contains a variation selector) - #89015 (core::ascii::escape_default: reduce struct size) - #89078 (Cleanup: Remove needless reference in ParentHirIterator) - #89086 (Stabilize `Iterator::map_while`) - #89096 ([bootstrap] Improve the error message when `ninja` is not found to link to installation instructions) - #89113 (dont `.ensure()` the `thir_abstract_const` query call in `mir_build`) - #89114 (Fixes a technicality regarding the size of C's `char` type) - #89115 (:arrow_up: rust-analyzer) - #89126 (Fix ICE when `indirect_structural_match` is allowed) - #89141 (Impl `Error` for `FromSecsError` without foreign type) - #89142 (Fix match for placeholder region) - #89147 (add case for checking const refs in check_const_value_eq) Failed merges: r? `@ghost` `@rustbot` modify labels: rollup
2021-09-21Rollup merge of #89086 - WaffleLapkin:stabilize_iter_map_while, r=kennytmthe8472-1/+0
Stabilize `Iterator::map_while` Per the FCP: https://github.com/rust-lang/rust/issues/68537#issuecomment-922385035 This PR stabilizes `Iterator::map_while` and `iter::MapWhile` in Rust 1.57.
2021-09-21Auto merge of #89103 - Mark-Simulacrum:migrate-2021, r=estebankbors-1/+1
Migrate in-tree crates to 2021 This replaces #89075 (cherry picking some of the commits from there), and closes #88637 and fixes #89074. It excludes a migration of the library crates for now (see tidy diff) because we have some pending bugs around macro spans to fix there. I instrumented bootstrap during the migration to make sure all crates moved from 2018 to 2021 had the compatibility warnings applied first. Originally, the intent was to support cargo fix --edition within bootstrap, but this proved fairly difficult to pull off. We'd need to architect the check functionality to support running cargo check and cargo fix within the same x.py invocation, and only resetting sysroots on check. Further, it was found that cargo fix doesn't behave too well with "not quite workspaces", such as Clippy which has several crates. Bootstrap runs with --manifest-path ... for all the tools, and this makes cargo fix only attempt migration for that crate. We can't use e.g. --workspace due to needing to maintain sysroots for different phases of compilation appropriately. It is recommended to skip the mass migration of Cargo.toml's to 2021 for review purposes; you can also use `git diff d6cd2c6c877110748296760aefddc21a0ea1d316 -I'^edition = .20...$'` to ignore the edition = 2018/21 lines in the diff.
2021-09-20Migrate to 2021Mark Rousskov-1/+1
2021-09-18Use <[T; N]>::map in Sharded instead of SmallVec and unsafe codebjorn3-19/+1
This results in a lot less assembly
2021-09-17Stabilize `Iterator::map_while`Maybe Waffle-1/+0
2021-09-12Rollup merge of #88711 - Mark-Simulacrum:fix-dfs-bug, r=jackh726Manish Goregaokar-3/+69
Rework DepthFirstSearch API This expands the API to be more flexible, allowing for more visitation patterns on graphs. This will be useful to avoid extra datasets (and allocations) in cases where the expanded DFS API is sufficient. This also fixes a bug with the previous DFS constructor, which left the start node not marked as visited (even though it was immediately returned). Commit written by ```@nikomatsakis``` originally, cherry picked from several commits in work on never type stabilization, but stands alone.
2021-09-10rustc: Remove local variable IDs from `Export`sVadim Petrochenkov-0/+7
Local variables can never be exported.
2021-09-08Bump stage0 compiler to 1.56Mark Rousskov-2/+1
2021-09-08Rework DepthFirstSearch APINiko Matsakis-3/+69
This expands the API to be more flexible, allowing for more visitation patterns on graphs. This will be useful to avoid extra datasets (and allocations) in cases where the expanded DFS API is sufficient. This also fixes a bug with the previous DFS constructor, which left the start node not marked as visited (even though it was immediately returned).
2021-09-06Rollup merge of #88659 - est31:update_smallvec_name, r=matthewjasperRyan Levick-1/+1
Remove SmallVector mention SmallVector is long gone, as it's been first replaced by OneVector in commit e5e6375352636360add297c1f5a1f37ce71506e9, which then has been removed entirely in favour of SmallVec in commit 130a32fa7259d348dc3a684b38e688da398c30bb.
2021-09-05Remove SmallVector mentionest31-1/+1
SmallVector is long gone, as it's been first replaced by OneVector in commit e5e6375352636360add297c1f5a1f37ce71506e9, which then has been removed entirely in favour of SmallVec in commit 130a32fa7259d348dc3a684b38e688da398c30bb.
2021-09-01Rollup merge of #88053 - bjorn3:fix_flock_fallback_impl, r=cjgillotMara Bos-0/+4
Fix the flock fallback implementation
2021-08-31Rollup merge of #88492 - est31:maybe_uninit_write, r=wesleywiserMara Bos-1/+1
Use MaybeUninit::write in functor.rs MaybeUninit::write is stable as of 1.55.0.
2021-08-30Use MaybeUninit::write in functor.rsest31-1/+1
MaybeUninit::write is stable as of 1.55.0.
2021-08-28Update stacker and psm cratesMateusz Mikuła-1/+1
2021-08-24Also fix “a `OwningRef`”Frank Steffahn-1/+1
2021-08-24Also fix “a RwLock*”Frank Steffahn-3/+3
2021-08-24Fix typo “a Rc” → “an Rc”Frank Steffahn-1/+1
2021-08-22Fix more “a”/“an” typosFrank Steffahn-1/+1
2021-08-22Fix typos “a”→“an”Frank Steffahn-27/+27
2021-08-15Fix the flock fallback implementationbjorn3-0/+4
2021-08-09Remove duplicate trait bounds in `rustc_data_structures::graph`pierwill-7/+2
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-07-27Use type_alias_impl_trait instead of min in compiler and libSantiago Pastorino-1/+2
2021-07-23Auto merge of #86429 - JohnTitor:get-by-key-enum-part-2, r=oli-obkbors-49/+23
Improve `get_by_key_enumerated` more Follow-up of #86392, this applies the suggestions by `@m-ou-se.` r? `@m-ou-se`
2021-07-23Add VecMap::get_value_matching and assert if > 1 elementSantiago Pastorino-4/+23
Otherwise is a bug that we want to uncover.
2021-07-23Sort features alphabeticallyYuki Okushi-13/+13
2021-07-23Use `map_while` instead of `take_while` + `map`Yuki Okushi-4/+6
2021-07-23Improve `get_by_key_enumerated` moreYuki Okushi-38/+10
2021-07-23Auto merge of #87287 - oli-obk:fixup_fixup_fixup_opaque_types, r=spastorinobors-5/+10
Make mir borrowck's use of opaque types independent of the typeck query's result fixes #87218 fixes #86465 we used to use the typeck results only to generate an obligation for the mir borrowck type to be equal to the typeck result. When i removed the `fixup_opaque_types` function in #87200, I exposed a bug that showed that mir borrowck can't doesn't get enough information from typeck in order to build the correct lifetime mapping from opaque type usage to the actual concrete type. We therefor now fully compute the information within mir borrowck (we already did that, but we only used it to verify the typeck result) and stop using the typeck information. We will likely be able to remove most opaque type information from the borrowck results in the future and just have all current callers use the mir borrowck result instead. r? `@spastorino`
2021-07-22Make mir borrowck's use of opaque types independent of the typeck query's resultOli Scherer-0/+4
2021-07-22Fix VecMap::iter_mutOli Scherer-5/+6
It used to allow you to mutate the key, even though that can invalidate the map by creating duplicate keys.
2021-07-22Auto merge of #86619 - rylev:incr-hashing-profiling, r=wesleywiserbors-11/+49
Profile incremental compilation hashing fingerprints Adds profiling instrumentation for the hashing of incremental compilation fingerprints per query. This will eventually feed into the `measureme` and `rustc-perf` infrastructure for tracking if computing hashes changes over time. TODOs: * [x] Address the FIXME where we are including node interning in the hash timing. * [ ] Update measureme/summarize to handle this new data: https://github.com/rust-lang/measureme/pull/166 * [ ] ~Update rustc-perf to handle the new data from measureme~ (will be done at a later time) r? `@ghost` cc `@michaelwoerister`
2021-07-17Some perf optimizations and loggingjackh726-0/+2
2021-07-13Fix VecMap Extend implOli Scherer-4/+6
2021-07-07Add docs to new methodsRyan Levick-2/+6
2021-07-07Profile incremental hashingRyan Levick-11/+45
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-06-22Rollup merge of #86387 - JohnTitor:now-no-unused-lifetimes, r=Mark-SimulacrumYuki Okushi-2/+0
Remove `#[allow(unused_lifetimes)]` which is now unnecessary Seems FP has been fixed, it doesn't need `#[allow(unused_lifetimes)]` anymore.
2021-06-17Prefer `partition_point` to look up assoc itemsYuki Okushi-47/+5
2021-06-17Remove `#[allow(unused_lifetimes)]` which is now unnecessaryYuki Okushi-2/+0
2021-06-11Auto merge of #85885 - bjorn3:remove_box_region, r=cjgillotbors-171/+0
Don't use a generator for BoxedResolver The generator is non-trivial and requires unsafe code anyway. Using regular unsafe code without a generator is much easier to follow. Based on #85810 as it touches rustc_interface too.
2021-06-08add VecMap docsSantiago Pastorino-0/+14
2021-06-08Use impl FnMut directly as predicate typeSantiago Pastorino-4/+1
2021-06-08Explicitly pass find arguments down the predicate so coercions can applySantiago Pastorino-2/+2
2021-06-08Inline the rest of box_regionbjorn3-82/+0
2021-06-08Inline box_region macro callsbjorn3-80/+0
2021-06-08Simplify box_region macrosbjorn3-26/+17