os-rust/compiler
bors 5639c21fb3 Auto merge of #126505 - compiler-errors:no-vtable, r=lcnr
Only compute vtable information during codegen

This PR removes vtable information from the `Object` and `TraitUpcasting` candidate sources in the trait solvers, and defers the computation of relevant information to `Instance::resolve`. This is because vtables really aren't a thing in the trait world -- they're an implementation detail in codegen.

Previously it was just easiest to tangle this information together since we were already doing the work of looking at all the supertraits in the trait solver, and specifically because we use traits to represent when it's possible to call a method via a vtable (`Object` candidate) and do upcasting (`Unsize` candidate). but I am somewhat suspicious we're doing a *lot* of extra work, especially in polymorphic contexts, so let's see what perf says.
2024-06-16 05:33:49 +00:00
..
rustc Change SIGPIPE ui from #[unix_sigpipe = "..."] to -Zon-broken-pipe=... 2024-05-02 19:48:29 +02:00
rustc_abi Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_arena Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_ast Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_ast_ir Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_ast_lowering Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_ast_passes Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_ast_pretty Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_attr Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_baked_icu_data Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_borrowck Rollup merge of #126508 - beepster4096:minor_borrowck_cherrypick, r=compiler-errors 2024-06-15 19:51:37 +02:00
rustc_builtin_macros Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_codegen_cranelift Auto merge of #126505 - compiler-errors:no-vtable, r=lcnr 2024-06-16 05:33:49 +00:00
rustc_codegen_gcc ScalarInt: size mismatches are a bug, do not delay the panic 2024-06-10 13:43:16 +02:00
rustc_codegen_llvm Rollup merge of #126424 - Enselic:sort-target-features, r=lqd 2024-06-15 14:40:49 +02:00
rustc_codegen_ssa Only compute vtable information during codegen 2024-06-14 20:35:45 -04:00
rustc_const_eval Auto merge of #126518 - matthiaskrgr:rollup-wb70rzq, r=matthiaskrgr 2024-06-15 14:51:12 +00:00
rustc_data_structures Rollup merge of #126368 - nnethercote:rm-more-unused-crate-deps, r=jackh726 2024-06-14 08:35:50 +02:00
rustc_driver Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_driver_impl Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_error_codes Auto merge of #126319 - workingjubilee:rollup-lendnud, r=workingjubilee 2024-06-12 11:10:50 +00:00
rustc_error_messages Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_errors Auto merge of #125410 - fmease:adj-lint-diag-api, r=nnethercote 2024-05-27 08:44:12 +00:00
rustc_expand Rollup merge of #125829 - petrochenkov:upctxt2, r=michaelwoerister 2024-06-15 14:40:47 +02:00
rustc_feature Auto merge of #118958 - c410-f3r:concat-again, r=petrochenkov 2024-06-14 16:41:39 +00:00
rustc_fluent_macro Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_fs_util Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_graphviz Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_hir Rollup merge of #126054 - veera-sivarajan:bugfix-113073-bound-on-generics-2, r=fee1-dead 2024-06-14 12:23:36 +02:00
rustc_hir_analysis Rollup merge of #126417 - beetrees:f16-f128-inline-asm-x86, r=Amanieu 2024-06-15 14:40:48 +02:00
rustc_hir_pretty Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_hir_typeck Rollup merge of #126367 - compiler-errors:point-out-failing-never-obligation, r=WaffleLapkin 2024-06-15 10:56:41 +02:00
rustc_incremental Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_index Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_index_macros Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_infer Rollup merge of #126496 - compiler-errors:more-generics, r=lcnr 2024-06-15 19:51:36 +02:00
rustc_interface Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_lexer Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_lint Auto merge of #125722 - Urgau:non_local_defs-macro-to-change, r=estebank 2024-06-15 08:50:44 +00:00
rustc_lint_defs Fixup links in lint docs 2024-06-13 12:24:31 +02:00
rustc_llvm Auto merge of #125141 - SergioGasquez:feat/no_std-xtensa, r=davidtwco 2024-06-12 13:43:31 +00:00
rustc_log Bump tracing-tree and allow rendering lines again 2024-06-12 10:11:41 +00:00
rustc_macros Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_metadata Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_middle Auto merge of #126505 - compiler-errors:no-vtable, r=lcnr 2024-06-16 05:33:49 +00:00
rustc_mir_build Rollup merge of #126354 - compiler-errors:variance, r=lcnr 2024-06-15 10:56:40 +02:00
rustc_mir_dataflow Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_mir_transform Rollup merge of #126410 - RalfJung:smir-const-operand, r=oli-obk 2024-06-15 19:51:35 +02:00
rustc_monomorphize Rollup merge of #126410 - RalfJung:smir-const-operand, r=oli-obk 2024-06-15 19:51:35 +02:00
rustc_next_trait_solver Remove some unused crate dependencies. 2024-06-10 19:55:49 +10:00
rustc_parse Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_parse_format Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_passes Rollup merge of #126315 - mu001999-contrib:fix/126289, r=petrochenkov 2024-06-13 22:55:45 +02:00
rustc_pattern_analysis Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_privacy Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_query_impl Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_query_system Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_resolve delegation: Fix hygiene for self 2024-06-15 00:45:05 +03:00
rustc_sanitizers Use is_lang_item more aggressively 2024-06-14 16:54:29 -04:00
rustc_serialize Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_session Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_smir Rollup merge of #126410 - RalfJung:smir-const-operand, r=oli-obk 2024-06-15 19:51:35 +02:00
rustc_span Rollup merge of #125829 - petrochenkov:upctxt2, r=michaelwoerister 2024-06-15 14:40:47 +02:00
rustc_symbol_mangling Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_target Add f16 and f128 inline ASM support for x86 and x86-64 2024-06-13 16:12:23 +01:00
rustc_trait_selection Auto merge of #126505 - compiler-errors:no-vtable, r=lcnr 2024-06-16 05:33:49 +00:00
rustc_traits Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
rustc_transmute safe transmute: support Variants::Single enums 2024-06-13 01:38:51 +00:00
rustc_ty_utils Auto merge of #126505 - compiler-errors:no-vtable, r=lcnr 2024-06-16 05:33:49 +00:00
rustc_type_ir Auto merge of #126505 - compiler-errors:no-vtable, r=lcnr 2024-06-16 05:33:49 +00:00
rustc_type_ir_macros Uplift TraitPredicate 2024-05-11 18:20:00 -04:00
stable_mir Rollup merge of #126410 - RalfJung:smir-const-operand, r=oli-obk 2024-06-15 19:51:35 +02:00