rust/compiler/rustc_middle/src
Matthew Maurer 473a70de84 CFI: Support function pointers for trait methods
Adds support for both CFI and KCFI for attaching concrete and abstract
types to functions. KCFI does this through generation of `ReifyShim` on
any function pointer that could go in a vtable, and checking the
`ReifyReason` when emitting the instance. CFI does this by attaching
both the concrete and abstract type to every instance.

TypeID codegen tests are switched to be anchored on the left rather than
the right in order to allow emission of additional type attachments.

Fixes #115953
2024-04-02 19:11:16 +00:00
..
dep_graph Reduce exposure of things. 2023-11-16 16:49:22 +11:00
hir Rename hir::Node::Local into hir::Node::LetStmt 2024-03-22 20:48:36 +01:00
hooks Rename mir_const query to mir_built 2024-03-20 09:05:22 +00:00
infer add comment 2024-02-22 18:54:51 +01:00
middle Auto merge of #122972 - beetrees:use-align-type, r=fee1-dead 2024-04-01 03:16:45 +00:00
mir Track reason for creating a ReifyShim 2024-04-02 19:11:16 +00:00
query Remove CacheSelector trait now that we can use GATs 2024-03-26 11:03:23 +00:00
thir Implement mut ref/mut ref mut 2024-03-27 09:53:23 -04:00
traits Stop doing expensive work in opt_suggest_box_span eagerly 2024-03-27 10:08:14 -04:00
ty CFI: Support function pointers for trait methods 2024-04-02 19:11:16 +00:00
util Make span_bug panic site useful again 2024-03-19 09:19:12 +00:00
arena.rs Create some minimal HIR for associated opaque types 2024-03-13 17:33:09 +03:00
error.rs Rename DiagnosticMessage as DiagMessage. 2024-03-05 12:14:49 +11:00
lib.rs step cfgs 2024-03-20 08:49:13 -04:00
lint.rs Guard decorate on when not to skip instead 2024-03-17 15:07:22 +00:00
macros.rs Remove unnecessary braces from span_bug 2024-03-21 11:24:24 -04:00
metadata.rs rustc_metadata: Remove Span from ModChild 2023-04-18 17:25:04 +03:00
tests.rs Remove outdated references to librustc_middle. 2024-01-05 16:34:52 +00:00
thir.rs Auto merge of #123080 - Jules-Bertholet:mut-ref-mut, r=Nadrieril 2024-03-29 11:08:11 +00:00
values.rs make Representability::Infinite carry ErrorGuaranteed 2024-03-14 20:52:13 +01:00