Skip to content

Commit

Permalink
Rollup merge of rust-lang#39311 - solson:fix-unpretty-mir-non-local, …
Browse files Browse the repository at this point in the history
…r=eddyb

Avoid ICE when pretty-printing non-local MIR item.

This comes up when using `-Zunstable-options --unpretty=mir`. Previously, rustc would ICE due to an unwrap later in this function (after `as_local_node_id`). Instead, we should just ignore items from other crates when pretty-printing MIR.

This was reported in #rust: [this playground code](https://is.gd/PSMBZS) causes an ICE if you click the MIR button. The problem is the mention of the non-local item `std::usize::MAX`, so you can reduce the test case [a lot](https://is.gd/SaLjaa).

r? @eddyb
  • Loading branch information
alexcrichton committed Jan 28, 2017
2 parents 0edc3d3 + 8ad06af commit e1a5c46
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion src/librustc_mir/pretty.rs
Original file line number Diff line number Diff line change
Expand Up @@ -92,7 +92,7 @@ pub fn write_mir_pretty<'a, 'b, 'tcx, I>(tcx: TyCtxt<'b, 'tcx, 'tcx>,
where I: Iterator<Item=DefId>, 'tcx: 'a
{
let mut first = true;
for def_id in iter {
for def_id in iter.filter(DefId::is_local) {
let mir = &tcx.item_mir(def_id);

if first {
Expand Down

0 comments on commit e1a5c46

Please sign in to comment.