rust/compiler/rustc_mir_build/src
Matthias Krüger 34535b6078
Rollup merge of #137213 - nnethercote:rm-rustc_middle-mir-tcx, r=compiler-errors
Remove `rustc_middle::mir::tcx` module.

This is a really weird module. For example, what does `tcx` in `rustc_middle::mir::tcx::PlaceTy` mean? The answer is "not much".

The top-level module comment says:

> Methods for the various MIR types. These are intended for use after
> building is complete.

Awfully broad for a module that has a handful of impl blocks for some MIR types, none of which really relates to `TyCtxt`. `git blame` indicates the comment is ancient, from 2015, and made sense then.

This module is now vestigial. This commit removes it and moves all the code within into `rustc_middle::mir::statement`. Some specifics:

- `Place`, `PlaceRef`, `Rvalue`, `Operand`, `BorrowKind`: they all have `impl` blocks in both the `tcx` and `statement` modules. The commit merges the former into the latter.

- `BinOp`, `UnOp`: they only have `impl` blocks in `tcx`. The commit moves these into `statement`.

- `PlaceTy`, `RvalueInitializationState`: they are defined in `tcx`. This commit moves them into `statement` *and* makes them available in `mir::*`, like many other MIR types.

r? `@tmandry`
2025-02-19 01:30:13 +01:00
..
builder Rollup merge of #137213 - nnethercote:rm-rustc_middle-mir-tcx, r=compiler-errors 2025-02-19 01:30:13 +01:00
thir Remove scrutinee_hir_id from ExprKind::Match 2025-02-18 13:51:32 +01:00
check_tail_calls.rs Rollup merge of #135973 - WaffleLapkin:tail-track-caller-fix, r=compiler-errors 2025-02-07 12:01:56 +01:00
check_unsafety.rs Move methods from Map to TyCtxt, part 2. 2025-02-18 10:17:44 +11:00
errors.rs Rollup merge of #136817 - dianne:clean-and-comment-pat-migration, r=Nadrieril 2025-02-17 06:37:36 +01:00
lib.rs Remove the mir_build hook. 2025-01-31 15:15:01 +11:00