forked from rust-lang/rust
-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Rollup merge of rust-lang#58354 - matthewjasper:mir-dump-fixes, r=wes…
…leywiser Fix ICE and invalid filenames in MIR printing code * Don't panic when printing MIR for associated constants * Don't use `<` and `>` in filenames, since they aren't allowed on Windows. r? @eddyb cc @RalfJung
- Loading branch information
Showing
2 changed files
with
69 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,66 @@ | ||
// Test that we don't ICE when trying to dump MIR for unusual item types and | ||
// that we don't create filenames containing `<` and `>` | ||
|
||
struct A; | ||
|
||
impl A { | ||
const ASSOCIATED_CONSTANT: i32 = 2; | ||
} | ||
|
||
enum E { | ||
V = 5, | ||
} | ||
|
||
fn main() { | ||
let v = Vec::<i32>::new(); | ||
} | ||
|
||
// END RUST SOURCE | ||
|
||
// START rustc.{{impl}}-ASSOCIATED_CONSTANT.mir_map.0.mir | ||
// bb0: { | ||
// _0 = const 2i32; | ||
// return; | ||
// } | ||
// bb1: { | ||
// resume; | ||
// } | ||
// END rustc.{{impl}}-ASSOCIATED_CONSTANT.mir_map.0.mir | ||
|
||
// START rustc.E-V-{{constant}}.mir_map.0.mir | ||
// bb0: { | ||
// _0 = const 5isize; | ||
// return; | ||
// } | ||
// bb1: { | ||
// resume; | ||
// } | ||
// END rustc.E-V-{{constant}}.mir_map.0.mir | ||
|
||
// START rustc.ptr-real_drop_in_place.std__vec__Vec_i32_.AddMovesForPackedDrops.before.mir | ||
// bb0: { | ||
// goto -> bb7; | ||
// } | ||
// bb1: { | ||
// return; | ||
// } | ||
// bb2: { | ||
// resume; | ||
// } | ||
// bb3: { | ||
// goto -> bb1; | ||
// } | ||
// bb4: { | ||
// goto -> bb2; | ||
// } | ||
// bb5: { | ||
// drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> bb4; | ||
// } | ||
// bb6: { | ||
// drop(((*_1).0: alloc::raw_vec::RawVec<i32>)) -> [return: bb3, unwind: bb4]; | ||
// } | ||
// bb7: { | ||
// _2 = &mut (*_1); | ||
// _3 = const std::ops::Drop::drop(move _2) -> [return: bb6, unwind: bb5]; | ||
// } | ||
// END rustc.ptr-real_drop_in_place.std__vec__Vec_i32_.AddMovesForPackedDrops.before.mir |