rust/compiler
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
..
rustc
rustc_abi Use the Align type when parsing alignment attributes 2024-04-01 03:05:55 +01:00
rustc_arena
rustc_ast Implement mut ref/mut ref mut 2024-03-27 09:53:23 -04:00
rustc_ast_ir
rustc_ast_lowering Implement mut ref/mut ref mut 2024-03-27 09:53:23 -04:00
rustc_ast_passes Rollup merge of #123188 - klensy:clippy-me2, r=Nilstrieb 2024-03-29 15:17:11 +01:00
rustc_ast_pretty Auto merge of #123080 - Jules-Bertholet:mut-ref-mut, r=Nadrieril 2024-03-29 11:08:11 +00:00
rustc_attr Use the Align type when parsing alignment attributes 2024-04-01 03:05:55 +01:00
rustc_baked_icu_data
rustc_borrowck Stop calling visitors V 2024-03-30 11:13:33 -04:00
rustc_builtin_macros Fix error message for env! when env var is not valid Unicode 2024-04-01 05:44:45 +01:00
rustc_codegen_cranelift Auto merge of #122450 - Urgau:simplify-trim-paths-feature, r=michaelwoerister 2024-03-29 14:00:21 +00:00
rustc_codegen_gcc stabilize ptr.is_aligned, move ptr.is_aligned_to to a new feature gate 2024-03-29 19:59:46 -04:00
rustc_codegen_llvm CFI: Switch sense of type erasure flag 2024-04-02 18:24:44 +00:00
rustc_codegen_ssa Rollup merge of #123188 - klensy:clippy-me2, r=Nilstrieb 2024-03-29 15:17:11 +01:00
rustc_const_eval Don't inherit codegen attrs from parent static 2024-03-31 22:34:00 -04:00
rustc_data_structures Auto merge of #121851 - michaelwoerister:mcp-533-effective-vis, r=cjgillot 2024-03-31 16:22:38 +00:00
rustc_driver
rustc_driver_impl
rustc_error_codes
rustc_error_messages
rustc_errors
rustc_expand compiler: fix few needless_pass_by_ref_mut clippy lints 2024-03-28 11:37:52 +03:00
rustc_feature Auto merge of #123080 - Jules-Bertholet:mut-ref-mut, r=Nadrieril 2024-03-29 11:08:11 +00:00
rustc_fluent_macro
rustc_fs_util
rustc_graphviz
rustc_hir Auto merge of #123080 - Jules-Bertholet:mut-ref-mut, r=Nadrieril 2024-03-29 11:08:11 +00:00
rustc_hir_analysis Auto merge of #122972 - beetrees:use-align-type, r=fee1-dead 2024-04-01 03:16:45 +00:00
rustc_hir_pretty Implement mut ref/mut ref mut 2024-03-27 09:53:23 -04:00
rustc_hir_typeck Fixup parsing of rustc_never_type_options attribute 2024-04-01 10:56:33 +00:00
rustc_incremental
rustc_index
rustc_index_macros
rustc_infer Rollup merge of #123188 - klensy:clippy-me2, r=Nilstrieb 2024-03-29 15:17:11 +01:00
rustc_interface Auto merge of #115220 - Zoxc:revive-gcx-ptr, r=oli-obk 2024-03-28 14:00:08 +00:00
rustc_lexer
rustc_lint Add support for NonNull in ambiguous_wide_ptr_comparisions 2024-03-29 22:02:07 +01:00
rustc_lint_defs
rustc_llvm
rustc_log bump tracing-tree to 0.3 2024-03-30 17:39:43 +03:00
rustc_macros
rustc_metadata Replace RemapFileNameExt::for_codegen with explicit calls 2024-03-28 18:47:26 +01:00
rustc_middle CFI: Support function pointers for trait methods 2024-04-02 19:11:16 +00:00
rustc_mir_build Auto merge of #122046 - Nadrieril:integrate-or-pats2, r=matthewjasper 2024-04-01 12:31:27 +00:00
rustc_mir_dataflow
rustc_mir_transform Track reason for creating a ReifyShim 2024-04-02 19:11:16 +00:00
rustc_monomorphize Only allow upstream calls to LLVM intrinsics, not any link_name function 2024-04-01 20:31:19 -04:00
rustc_next_trait_solver Require foldability part of interner item bounds, remove redundant where clauses 2024-03-28 12:30:52 -04:00
rustc_parse Auto merge of #123080 - Jules-Bertholet:mut-ref-mut, r=Nadrieril 2024-03-29 11:08:11 +00:00
rustc_parse_format
rustc_passes Auto merge of #122450 - Urgau:simplify-trim-paths-feature, r=michaelwoerister 2024-03-29 14:00:21 +00:00
rustc_pattern_analysis Rollup merge of #123242 - Nadrieril:require-contiguous-enum-indices, r=compiler-errors 2024-03-31 11:50:41 +02:00
rustc_privacy
rustc_query_impl
rustc_query_system
rustc_resolve remove def_id_to_node_id in ast lowering 2024-03-28 16:58:03 +08:00
rustc_serialize
rustc_session Rollup merge of #123200 - maurer:kcfi-abort, r=compiler-errors 2024-03-30 14:30:50 +01:00
rustc_smir Normalize the result of Fields::ty_with_args 2024-03-28 13:22:10 -07:00
rustc_span Auto merge of #121268 - Urgau:improve_ambi_wide_ptr_cmps, r=Nadrieril 2024-03-29 18:23:57 +00:00
rustc_symbol_mangling CFI: Support function pointers for trait methods 2024-04-02 19:11:16 +00:00
rustc_target
rustc_trait_selection Auto merge of #123340 - fmease:rustdoc-simplify-auto-trait-impl-synth, r=GuillaumeGomez 2024-04-02 12:13:44 +00:00
rustc_traits
rustc_transmute Remove unnecessary Partial/Ord derive 2024-03-27 14:02:15 +00:00
rustc_ty_utils
rustc_type_ir Require foldability part of interner item bounds, remove redundant where clauses 2024-03-28 12:30:52 -04:00
stable_mir Normalize the result of Fields::ty_with_args 2024-03-28 13:22:10 -07:00