rust/compiler/rustc_middle/src
bors 489233170a Auto merge of #123781 - RalfJung:miri-fn-identity, r=oli-obk
Miri function identity hack: account for possible inlining

Having a non-lifetime generic is not the only reason a function can be duplicated. Another possibility is that the function may be eligible for cross-crate inlining. So also take into account the inlining attribute in this Miri hack for function pointer identity.

That said, `cross_crate_inlinable` will still sometimes return true even for `inline(never)` functions:
- when they are `DefKind::Ctor(..) | DefKind::Closure` -- I assume those cannot be `InlineAttr::Never` anyway?
- when `cross_crate_inline_threshold == InliningThreshold::Always`

so maybe this is still not quite the right criterion to use for function pointer identity.
2024-07-04 23:45:56 +00:00
..
dep_graph local_def_path_hash_to_def_id can fail 2024-06-19 07:45:47 -04:00
hir Revert "Create const block DefIds in typeck instead of ast lowering" 2024-06-07 08:33:58 +00:00
hooks Remove #[macro_use] extern crate tracing from rustc_middle. 2024-05-23 18:02:40 +10:00
infer Simplify IntVarValue/FloatVarValue 2024-06-01 10:31:32 -04:00
middle Rollup merge of #127145 - compiler-errors:as_lang_item, r=lcnr 2024-07-03 17:26:54 +02:00
mir Auto merge of #123781 - RalfJung:miri-fn-identity, r=oli-obk 2024-07-04 23:45:56 +00:00
query Miscellaneous renaming 2024-07-02 15:48:48 -04:00
thir Track mutability of deref patterns 2024-04-20 15:59:54 +02:00
traits Make queries more explicit 2024-06-27 12:03:57 -04:00
ty Auto merge of #123781 - RalfJung:miri-fn-identity, r=oli-obk 2024-07-04 23:45:56 +00:00
util Instance::resolve -> Instance::try_resolve, and other nits 2024-07-02 17:28:03 -04:00
arena.rs Uplift PredefinedOpaquesData 2024-06-18 10:40:30 -04:00
error.rs Re-implement a type-size based limit 2024-07-02 15:48:48 -04:00
lib.rs Rollup merge of #125505 - aDotInTheVoid:middle-idl, r=pnkfelix 2024-06-05 18:21:09 +02:00
lint.rs Auto merge of #125410 - fmease:adj-lint-diag-api, r=nnethercote 2024-05-27 08:44:12 +00:00
macros.rs Use a dedicated type instead of a reference for the diagnostic context 2024-06-18 15:42:11 +00:00
metadata.rs Remove extern crate rustc_macros from rustc_middle. 2024-04-29 11:19:16 +10:00
tests.rs Give an item related to issue 27438 a more meaningful name 2024-04-30 22:27:19 +02:00
thir.rs Replace f16 and f128 pattern matching stubs with real implementations 2024-06-23 04:28:42 -05:00
values.rs Use Variance glob import everywhere 2024-06-12 16:25:45 -04:00