rust/compiler
Matthew Maurer 6aa89f684e Track reason for creating a ReifyShim
KCFI needs to be able to tell which kind of `ReifyShim` it is examining
in order to decide whether to use a concrete type (`FnPtr` case) or an
abstract case (`Vtable` case). You can *almost* tell this from context,
but there is one case where you can't - if a trait has a method which is
*not* `#[track_caller]`, with an impl that *is* `#[track_caller]`, both
the vtable and a function pointer created from that method will be
`ReifyShim(def_id)`.

Currently, the reason is optional to ensure no additional unique
`ReifyShim`s are added without KCFI on. However, the case in which an
extra `ReifyShim` is created is sufficiently rare that this may be worth
revisiting to reduce complexity.
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 Track reason for creating a ReifyShim 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 Track reason for creating a ReifyShim 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