summary refs log tree commit diff
path: root/compiler/rustc_middle/src/query
AgeCommit message (Collapse)AuthorLines
2020-12-03Combination of commitsRich Kadel-0/+15
Fixes multiple issue with counters, with simplification Includes a change to the implicit else span in ast_lowering, so coverage of the implicit else no longer spans the `then` block. Adds coverage for unused closures and async function bodies. Fixes: #78542 Adding unreachable regions for known MIR missing from coverage map Cleaned up PR commits, and removed link-dead-code requirement and tests Coverage no longer depends on Issue #76038 (`-C link-dead-code` is no longer needed or enforced, so MSVC can use the same tests as Linux and MacOS now) Restrict adding unreachable regions to covered files Improved the code that adds coverage for uncalled functions (with MIR but not-codegenned) to avoid generating coverage in files not already included in the files with covered functions. Resolved last known issue requiring --emit llvm-ir workaround Fixed bugs in how unreachable code spans were added.
2020-12-02Revert "Auto merge of #79209 - spastorino:trait-inheritance-self, ↵Santiago Pastorino-13/+2
r=nikomatsakis" This reverts commit 349b3b324dade7ca638091db93ba08bbc443c63d, reversing changes made to b776d1c3e3db8befabb123ebb1e46c3531eaed46.
2020-11-27Remove super_traits_of query, just leave a helper functionSantiago Pastorino-6/+0
2020-11-27Make super_traits_of return Lrc for cheaper cloneSantiago Pastorino-1/+1
2020-11-27Fix super_predicates_that_define_assoc_type API docSantiago Pastorino-6/+4
2020-11-27adjust super_predicates_that_define_assoc_type query descriptionSantiago Pastorino-1/+4
2020-11-27super_traits_of is now a querySantiago Pastorino-1/+7
2020-11-27Allow to self reference associated types in where clausesSantiago Pastorino-0/+10
2020-11-27Allow to use super trait bounds in where clausesSantiago Pastorino-1/+1
2020-11-25Auto merge of #79411 - tmiasko:naked-params, r=Amanieubors-0/+4
Validate use of parameters in naked functions * Reject use of parameters inside naked function body. * Reject use of patterns inside function parameters, to emphasize role of parameters a signature declaration (mirroring existing behaviour for function declarations) and avoid generating code introducing specified bindings. Closes issues below by considering input to be ill-formed. Closes #75922. Closes #77848. Closes #79350.
2020-11-25Validate use of parameters in naked functionsTomasz Miąsko-0/+4
* Reject use of parameters inside naked function body. * Reject use of patterns inside function parameters, to emphasize role of parameters a signature declaration (mirroring existing behaviour for function declarations) and avoid generating code introducing specified bindings.
2020-11-19Only create `OnDiskCache` in incremental compilation modeAaron Hill-4/+4
This lets us skip doing useless work when we're not in incremental compilation mode.
2020-11-16compiler: fold by valueBastian Kauschke-1/+1
2020-10-27Cache foreign_modules queryRyan Levick-1/+1
2020-10-19Calculate visibilities once in resolveVadim Petrochenkov-0/+1
Then use them through a query based on resolver outputs
2020-10-10Fix query docsCamelid-5/+11
They were not formatted correctly, so rustdoc was interpreting some parts as code. Also cleaned up some other query docs that weren't causing issues, but were formatted incorrectly.
2020-10-06Handle multiple applicable projection candidatesMatthew Jasper-1/+1
2020-10-06Remove predicates on associated types from traitsMatthew Jasper-0/+18
These need to only be bounds to avoid cycle errors in trait checking.
2020-10-06Address review commentsMatthew Jasper-4/+20
2020-10-06Split bounds from predicatesMatthew Jasper-1/+6
2020-10-06Rename projection_predicates to item_boundsMatthew Jasper-2/+2
2020-10-05Record `expansion_that_defined` into crate metadataAaron Hill-0/+5
Fixes #77523 Now that hygiene serialization is implemented, we also need to record `expansion_that_defined` so that we properly handle a foreign `SyntaxContext`.
2020-09-27Remove `rustc_allow_const_fn_ptr`Dylan MacKenzie-4/+0
This was a hack to work around the lack of an escape hatch for the "min `const fn`" checks in const-stable functions. Now that we have co-opted `allow_internal_unstable` for this purpose, we no longer need the bespoke attribute.
2020-09-26Auto merge of #70743 - oli-obk:eager_const_to_pat_conversion, r=eddybbors-0/+8
Fully destructure constants into patterns r? `@varkor` as discussed in https://rust-lang.zulipchat.com/#narrow/stream/131828-t-compiler/topic/constants.20in.20patterns/near/192789924 we should probably crater it once reviewed
2020-09-24Auto merge of #77006 - oli-obk:🐌_const_queries, r=Mark-Simulacrumbors-4/+2
Cache `eval_to_allocation_raw` on disk https://github.com/rust-lang/rust/pull/74949#issuecomment-695833161 regressed the performance on these queries, this PR gets the perf back.
2020-09-24Always cache const eval queriesOliver Scherer-8/+2
2020-09-24Auto merge of #76820 - jyn514:query-comments, r=davidtwcobors-24/+24
Preserve doc-comments when generating queries Closes https://github.com/rust-lang/rust/issues/76812
2020-09-23Rollup merge of #76939 - lcnr:const-evaluatable-cont, r=oli-obkDylan DPC-2/+2
emit errors during AbstractConst building There changes are currently still untested, so I don't expect this to pass CI :laughing: It seems to me like this is the direction we want to go in, though we didn't have too much of a discussion about this. r? @oli-obk
2020-09-21Cache `eval_to_allocation_raw` on diskOliver Scherer-0/+4
2020-09-20Add a query for dereferencing constants of reference typeOliver Scherer-0/+8
2020-09-19wip emit errors during AbstractConst buildingBastian Kauschke-2/+2
2020-09-19Reflect the "do not call this query directly" mentality in its nameOliver Scherer-1/+1
2020-09-19Address review commentsOliver Scherer-2/+2
2020-09-19Unify the names of const eval queries and their return typesOliver Scherer-4/+6
2020-09-19Rename const eval queries to reflect the validation changesOliver Scherer-13/+6
2020-09-18use abstract consts when unifying ConstKind::UnevaluatedBastian Kauschke-0/+10
2020-09-18initial working stateBastian Kauschke-0/+19
2020-09-17Preserve doc-comments when generating queriesJoshua Nelson-24/+24
This also changes some comments into doc-comments.
2020-09-09Remove def_id field from ParamEnvBram van den Heuvel-1/+1
2020-09-02pretty: trim paths of unique symbolsDan Aloni-0/+5
If a symbol name can only be imported from one place for a type, and as long as it was not glob-imported anywhere in the current crate, we can trim its printed path and print only the name. This has wide implications on error messages with types, for example, shortening `std::vec::Vec` to just `Vec`, as long as there is no other `Vec` importable anywhere. This adds a new '-Z trim-diagnostic-paths=false' option to control this feature. On the good path, with no diagnosis printed, we should try to avoid issuing this query, so we need to prevent trimmed_def_paths query on several cases. This change also relies on a previous commit that differentiates between `Debug` and `Display` on various rustc types, where the latter is trimmed and presented to the user and the former is not.
2020-08-30mv compiler to compiler/mark-0/+1551