rust/compiler/rustc_ty_utils/src
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
..
abi.rs fn_arg_sanity_check: fix panic message 2024-05-29 08:16:47 +02:00
assoc.rs Remove extern crate rustc_middle from rustc_ty_utils. 2024-05-13 08:20:18 +10:00
common_traits.rs Start implementing needs_async_drop and related 2024-05-29 12:50:44 +03:00
consts.rs ScalarInt: size mismatches are a bug, do not delay the panic 2024-06-10 13:43:16 +02:00
errors.rs Stop using String for error codes. 2024-01-29 07:41:41 +11:00
implied_bounds.rs Remove DefId from EarlyParamRegion (tedium/diagnostics) 2024-05-24 18:06:53 +01:00
instance.rs Auto merge of #126505 - compiler-errors:no-vtable, r=lcnr 2024-06-16 05:33:49 +00:00
layout_sanity_check.rs Remove extern crate rustc_middle from rustc_ty_utils. 2024-05-13 08:20:18 +10:00
layout.rs Uplift TypeRelation and Relate 2024-06-01 12:50:58 -04:00
lib.rs Use tidy to sort crate attributes for all compiler crates. 2024-06-12 15:49:10 +10:00
needs_drop.rs Optimize async drop glue for some old types 2024-05-29 12:56:59 +03:00
opaque_types.rs Make body_owned_by return the body directly. 2024-05-29 10:04:08 +00:00
representability.rs Remove extern crate rustc_middle from rustc_ty_utils. 2024-05-13 08:20:18 +10:00
sig_types.rs Remove #[macro_use] extern crate tracing from rustc_ty_utils. 2024-05-23 18:02:17 +10:00
structural_match.rs remove StructuralEq trait 2024-01-24 07:56:23 +01:00
ty.rs Give EarlyBinder a tcx parameter 2024-05-26 20:04:05 -04:00