rust/compiler
bors 9be9b5e09a Auto merge of #107614 - compiler-errors:allow-elaborator-to-filter-only-super-traits, r=oli-obk
Split implied and super predicate queries, then allow elaborator to filter only supertraits

Split the `super_predicates_of` query into a new `implied_predicates_of` query. The former now only returns the *real* supertraits of a trait alias, and the latter now returns the implied predicates (which include all of the `where` clauses of the trait alias). The behavior of these queries is identical for regular traits.

Now that the two queries are split, we can add a new filter method to the elaborator, `filter_only_self()`, which can be used in instances that we need only the *supertrait* predicates, such as during the elaboration used in closure signature deduction. This toggles the usage of `super_predicates_of` instead of `implied_predicates_of` during elaboration of a trait predicate.

This supersedes #104745, and fixes the four independent bugs identified in that PR.
Fixes #104719
Fixes #106238
Fixes #110023
Fixes #109514

r? types
2023-04-12 08:39:19 +00:00
..
rustc fix link 2023-03-11 10:53:47 -06:00
rustc_abi Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
rustc_apfloat
rustc_arena Allow clippy::from_mut_ref 2023-04-09 22:29:56 +02:00
rustc_ast Rename ast::Static to ast::StaticItem to match ast::ConstItem 2023-04-04 15:34:40 +00:00
rustc_ast_lowering Rename ast::Static to ast::StaticItem to match ast::ConstItem 2023-04-04 15:34:40 +00:00
rustc_ast_passes Rollup merge of #109923 - ElectrifyPro:visibility, r=wesleywiser 2023-04-11 12:18:50 +09:00
rustc_ast_pretty Remove identity casts 2023-04-09 23:22:14 +02:00
rustc_attr Bless tidy 2023-03-27 18:58:07 +00:00
rustc_baked_icu_data update ICU4X to 1.1.0 2023-02-04 22:28:59 +01:00
rustc_borrowck Auto merge of #110036 - jackh726:placeholder_boundvar, r=nnethercote 2023-04-07 14:26:24 +00:00
rustc_builtin_macros Auto merge of #110092 - clubby789:builtin-macros-translatable, r=compiler-errors 2023-04-11 14:40:54 +00:00
rustc_codegen_cranelift Rename Abort terminator to Terminate 2023-04-06 09:34:16 +01:00
rustc_codegen_gcc Rollup merge of #96971 - zhaixiaojuan:master, r=wesleywiser 2023-04-11 20:28:45 -07:00
rustc_codegen_llvm Auto merge of #109862 - klensy:llvm-dd, r=nikic 2023-04-08 15:57:59 +00:00
rustc_codegen_ssa Rollup merge of #96971 - zhaixiaojuan:master, r=wesleywiser 2023-04-11 20:28:45 -07:00
rustc_const_eval Auto merge of #102906 - nbdd0121:mir, r=wesleywiser,tmiasko 2023-04-07 10:31:14 +00:00
rustc_data_structures Inline format_args 2023-04-09 23:29:39 +02:00
rustc_driver Remove unneeded extern crate 2023-02-02 07:47:39 +01:00
rustc_driver_impl implement --print=all-target-specs-json 2023-04-03 09:24:14 +02:00
rustc_error_codes Make "unneccesary visibility qualifier" error much more clear 2023-04-03 21:52:27 -05:00
rustc_error_messages Stabilize a portion of 'once_cell' 2023-03-29 18:04:44 -04:00
rustc_errors Auto merge of #110092 - clubby789:builtin-macros-translatable, r=compiler-errors 2023-04-11 14:40:54 +00:00
rustc_expand Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
rustc_feature Auto merge of #106281 - JulianKnodt:transmute_const_generics, r=b-naber 2023-04-08 19:47:22 +00:00
rustc_fs_util Add try_canonicalize to rustc_fs_util and use it over fs::canonicalize 2023-03-16 21:50:23 +01:00
rustc_graphviz Fix uninlined_format_args for some compiler crates 2023-01-05 19:01:12 +01:00
rustc_hir Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
rustc_hir_analysis Allow the elaborator to only filter to real supertraits 2023-04-11 17:45:42 +00:00
rustc_hir_pretty Remove identity casts 2023-04-09 23:22:14 +02:00
rustc_hir_typeck Allow the elaborator to only filter to real supertraits 2023-04-11 17:45:42 +00:00
rustc_incremental Check for escape sequences in Fluent resources 2023-03-29 18:34:29 +01:00
rustc_index Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
rustc_infer Allow the elaborator to only filter to real supertraits 2023-04-11 17:45:42 +00:00
rustc_interface Migrate sess.opts.tests uses to sess.is_test_crate() 2023-04-09 21:37:31 +02:00
rustc_lexer fix(lexer): not skipped whitespace warning for '\x0c' 2023-03-09 22:44:58 +08:00
rustc_lint Allow the elaborator to only filter to real supertraits 2023-04-11 17:45:42 +00:00
rustc_lint_defs Rollup merge of #108588 - ehuss:lint-docs-produces, r=eholk 2023-03-23 19:55:45 +01:00
rustc_llvm Rollup merge of #96971 - zhaixiaojuan:master, r=wesleywiser 2023-04-11 20:28:45 -07:00
rustc_log write threads info into log only when debugging 2023-04-04 15:31:37 +08:00
rustc_macros Auto merge of #110092 - clubby789:builtin-macros-translatable, r=compiler-errors 2023-04-11 14:40:54 +00:00
rustc_metadata Split implied and super predicate queries 2023-04-11 17:45:42 +00:00
rustc_middle Auto merge of #107614 - compiler-errors:allow-elaborator-to-filter-only-super-traits, r=oli-obk 2023-04-12 08:39:19 +00:00
rustc_mir_build Auto merge of #102906 - nbdd0121:mir, r=wesleywiser,tmiasko 2023-04-07 10:31:14 +00:00
rustc_mir_dataflow Revert box_free unwind action 2023-04-06 09:34:16 +01:00
rustc_mir_transform Auto merge of #110031 - compiler-errors:generic-elaboration, r=b-naber 2023-04-09 00:18:10 +00:00
rustc_monomorphize Rename Abort terminator to Terminate 2023-04-06 09:34:16 +01:00
rustc_parse Remove identity casts 2023-04-09 23:22:14 +02:00
rustc_parse_format Improve heuristics for format_args literal being suggestable 2023-03-14 13:20:39 +00:00
rustc_passes Migrate sess.opts.tests uses to sess.is_test_crate() 2023-04-09 21:37:31 +02:00
rustc_plugin_impl expand: Pass ast::Crate by reference to AST transforming passes 2023-03-23 14:20:55 +04:00
rustc_privacy rustc_middle: Remove Option from module_reexports query 2023-04-08 13:29:16 +03:00
rustc_query_impl Auto merge of #110012 - matthiaskrgr:rollup-sgmm5xv, r=matthiaskrgr 2023-04-06 18:48:42 +00:00
rustc_query_system Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
rustc_resolve Auto merge of #109638 - NotStirred:suggest/non-derive, r=davidtwco 2023-04-10 21:50:46 +00:00
rustc_serialize Remove f32 & f64 from MemDecoder/MemEncoder 2023-04-06 00:54:07 -07:00
rustc_session Rollup merge of #110124 - Nilstrieb:📎-told-me-so, r=compiler-errors 2023-04-10 14:13:16 +05:30
rustc_smir Fix new usage of old api 2023-04-06 09:34:16 +01:00
rustc_span Fix some clippy::complexity 2023-04-09 23:22:14 +02:00
rustc_symbol_mangling Remove index from BrAnon 2023-04-06 23:01:40 -04:00
rustc_target Rollup merge of #96971 - zhaixiaojuan:master, r=wesleywiser 2023-04-11 20:28:45 -07:00
rustc_trait_selection Auto merge of #107614 - compiler-errors:allow-elaborator-to-filter-only-super-traits, r=oli-obk 2023-04-12 08:39:19 +00:00
rustc_traits Remove u32 on BoundTyKind::Anon 2023-04-06 23:08:04 -04:00
rustc_transmute Some simple clippy::perf fixes 2023-04-09 21:59:28 +02:00
rustc_ty_utils Update compiler/rustc_ty_utils/src/layout.rs 2023-04-08 21:40:33 +01:00
rustc_type_ir Generate simpler MIR for shifts 2023-03-22 13:32:12 -07:00