diff options
| author | Ralf Jung <post@ralfj.de> | 2025-02-06 10:06:07 +0100 |
|---|---|---|
| committer | Ralf Jung <post@ralfj.de> | 2025-02-06 11:36:58 +0100 |
| commit | 5934e0afeff267d58a6449f10a263f9f1ad8f847 (patch) | |
| tree | d5879483313f02b93544e41084fca946c6ad7e79 /compiler/rustc_mir_transform/src | |
| parent | 820bfffc25fee9866aa8176529091e04b8824f09 (diff) | |
| download | rust-5934e0afeff267d58a6449f10a263f9f1ad8f847.tar.gz rust-5934e0afeff267d58a6449f10a263f9f1ad8f847.zip | |
MIR validation: add comment explaining the limitations of CfgChecker
Diffstat (limited to 'compiler/rustc_mir_transform/src')
| -rw-r--r-- | compiler/rustc_mir_transform/src/validate.rs | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/compiler/rustc_mir_transform/src/validate.rs b/compiler/rustc_mir_transform/src/validate.rs index b7a3770fc6b..4ac3a268c9c 100644 --- a/compiler/rustc_mir_transform/src/validate.rs +++ b/compiler/rustc_mir_transform/src/validate.rs @@ -97,6 +97,12 @@ impl<'tcx> crate::MirPass<'tcx> for Validator { } } +/// This checker covers basic properties of the control-flow graph, (dis)allowed statements and terminators. +/// Everything checked here must be stable under substitution of generic parameters. In other words, +/// this is about the *structure* of the MIR, not the *contents*. +/// +/// Everything that depends on types, or otherwise can be affected by generic parameters, +/// must be checked in `TypeChecker`. struct CfgChecker<'a, 'tcx> { when: &'a str, body: &'a Body<'tcx>, |
