Michael Goulet
3d5438accd
Fix binding mode problems
2025-02-22 00:13:19 +00:00
clubby789
7a9661d768
Disable non-required MIR opts with optimize(none)
...
Co-authored-by: Waffle Lapkin <waffle.lapkin@gmail.com>
2025-01-23 17:40:41 +00:00
Lukas Markeffsky
bd31e3ed70
be even more precise about "cast" vs "coercion"
2024-09-24 23:12:02 +02:00
Lukas Markeffsky
46ecb23198
unify dyn* coercions with other pointer coercions
2024-09-24 22:17:55 +02:00
Nicholas Nethercote
7023402691
Remove references from some structs.
...
In all cases the struct can own the relevant thing instead of having a
reference to it. This makes the code simpler, and in some cases removes
a struct lifetime.
2024-09-10 09:11:17 +10:00
Nicholas Nethercote
8235af07d2
Improve comment formatting.
...
By reflowing comment lines that are too long, and a few that are very
short. Plus some other very minor formatting tweaks.
2024-09-10 08:42:30 +10:00
Nicholas Nethercote
6af470e360
Reduce visibilities, and add warn(unreachable_pub)
.
...
Lots of unnecessary `pub`s in this crate. Most are downgraded to
`pub(super)`, though some don't need any visibility.
2024-09-09 08:48:09 +10:00
Nicholas Nethercote
2aae619edb
Move MirPass
to rustc_mir_transform
.
...
Because that's now the only crate that uses it.
Moving stuff out of `rustc_middle` is always welcome.
I chose to use `impl crate::MirPass`/`impl crate::MirLint` (with
explicit `crate::`) everywhere because that's the only mention of
`MirPass`/`MirLint` used in all of these files. (Prior to this change,
`MirPass` was mostly imported via `use rustc_middle::mir::*` items.)
2024-09-03 16:03:46 +10:00
Ralf Jung
6d312d7bd1
MIR required_consts, mentioned_items: ensure we do not forget to fill these lists
2024-08-01 15:49:25 +02:00
Nicholas Nethercote
84ac80f192
Reformat use
declarations.
...
The previous commit updated `rustfmt.toml` appropriately. This commit is
the outcome of running `x fmt --all` with the new formatting options.
2024-07-29 08:26:52 +10:00
Maybe Waffle
484152d562
Support tail calls in mir via TerminatorKind::TailCall
2024-07-07 17:11:04 +02:00
Michael Goulet
d50c2b0a52
Make builtin_deref just return a Ty
2024-05-09 22:55:00 -04:00
Ralf Jung
feeffaeff9
mentioned_items: avoid adding str/slice unsizing casts
2024-03-20 11:16:11 +01:00
Ralf Jung
0d6a16ac4b
mentioned_items: record all callee and coerced closure types, whether they are FnDef/Closure or not
...
They may become FnDef during monomorphization!
2024-03-20 11:07:12 +01:00
Ralf Jung
f1ec494c32
mentioned items: also handle closure-to-fn-ptr coercions
2024-03-20 11:07:12 +01:00
Ralf Jung
347ca50bc8
mentioned items: also handle vtables
2024-03-20 11:07:12 +01:00
Ralf Jung
712fe36611
collector: recursively traverse 'mentioned' items to evaluate their constants
2024-03-20 11:07:12 +01:00