about summary refs log tree commit diff
path: root/compiler/rustc_data_structures/src
AgeCommit message (Collapse)AuthorLines
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-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-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-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
2021-06-08Add VecMap::get_by(FnMut -> bool)Santiago Pastorino-0/+7
2021-06-07Add VecMap to rustc_data_structuresSantiago Pastorino-0/+186
2021-06-06Rollup merge of #85436 - tamird:save-clone, r=estebankYuki Okushi-3/+2
Avoid cloning cache key r? `@estebank`
2021-06-04Unify parallel and non-parallel APIsJoshua Nelson-2/+54
It's confusing for these to be different, even if some of the methods are unused.
2021-06-04Remove unused code from `rustc_data_structures::sync`Joshua Nelson-110/+0
Found using https://github.com/est31/warnalyzer.
2021-06-04Rollup merge of #85850 - bjorn3:less_feature_gates, r=jyn514Yuki Okushi-21/+1
Remove unused feature gates The first commit removes a usage of a feature gate, but I don't expect it to be controversial as the feature gate was only used to workaround a limitation of rust in the past. (closures never being `Clone`) The second commit uses `#[allow_internal_unstable]` to avoid leaking the `trusted_step` feature gate usage from inside the index newtype macro. It didn't work for the `min_specialization` feature gate though. The third commit removes (almost) all feature gates from the compiler that weren't used anyway.
2021-06-02Auto merge of #85892 - tmiasko:i, r=oli-obkbors-0/+10
Miscellaneous inlining improvements
2021-06-02Miscellaneous inlining improvementsTomasz Miąsko-0/+10
2021-06-01Remove StableVec.Camille GILLOT-32/+0
2021-06-01Revert "Reduce the amount of untracked state in TyCtxt"Camille Gillot-0/+32
2021-05-31Remove unused feature gatesbjorn3-1/+0
2021-05-31Remove unnecessary unboxed_closures feature usagebjorn3-20/+1
It has been possible to clone closures for a while now
2021-05-30Remove StableVec.Camille GILLOT-32/+0
2021-05-25Don't panic when failing to initialize incremental directory.Eric Huss-0/+13
2021-05-18Simplify `map | unwrap_or` to `map_or`Tamir Duberstein-2/+1
2021-05-18Avoid cloning cache keyTamir Duberstein-2/+2
2021-05-04Only compute Obligation `cache_key` once in `register_obligation_at`Esteban Küber-3/+4