diff options
| author | bors <bors@rust-lang.org> | 2020-02-03 03:28:08 +0000 |
|---|---|---|
| committer | bors <bors@rust-lang.org> | 2020-02-03 03:28:08 +0000 |
| commit | a2e80300cd83849dd4fa17af131e603623631bf6 (patch) | |
| tree | f99b342c2b4a08bbcfbe34e66d94b783642fbf61 | |
| parent | 01db5819429352c4ab58f4760c29d6e4ca76d9a7 (diff) | |
| parent | c377ed606c1abfb240321f26cade940946c768e6 (diff) | |
| download | rust-a2e80300cd83849dd4fa17af131e603623631bf6.tar.gz rust-a2e80300cd83849dd4fa17af131e603623631bf6.zip | |
Auto merge of #68756 - JohnTitor:fix-ice-save-analysis-2, r=davidtwco
Fix ICE with save-analysis Fixes #68749 It should be fine since it's the same way as `visit_expr`.
| -rw-r--r-- | src/librustc_save_analysis/dump_visitor.rs | 4 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-26459.rs | 2 | ||||
| -rw-r--r-- | src/test/ui/issues/issue-26459.stderr | 2 |
3 files changed, 5 insertions, 3 deletions
diff --git a/src/librustc_save_analysis/dump_visitor.rs b/src/librustc_save_analysis/dump_visitor.rs index 09c261cdc23..3f436a1e27c 100644 --- a/src/librustc_save_analysis/dump_visitor.rs +++ b/src/librustc_save_analysis/dump_visitor.rs @@ -866,8 +866,8 @@ impl<'l, 'tcx> DumpVisitor<'l, 'tcx> { // FIXME do something with _path? let hir_id = self.tcx.hir().node_to_hir_id(p.id); let adt = match self.save_ctxt.tables.node_type_opt(hir_id) { - Some(ty) => ty.ty_adt_def().unwrap(), - None => { + Some(ty) if ty.ty_adt_def().is_some() => ty.ty_adt_def().unwrap(), + _ => { visit::walk_pat(self, p); return; } diff --git a/src/test/ui/issues/issue-26459.rs b/src/test/ui/issues/issue-26459.rs index 79791e0e06a..2ba05a0a47e 100644 --- a/src/test/ui/issues/issue-26459.rs +++ b/src/test/ui/issues/issue-26459.rs @@ -1,3 +1,5 @@ +// compile-flags: -Zsave-analysis + fn main() { match 'a' { char{ch} => true diff --git a/src/test/ui/issues/issue-26459.stderr b/src/test/ui/issues/issue-26459.stderr index 187369263a4..9f594990c6d 100644 --- a/src/test/ui/issues/issue-26459.stderr +++ b/src/test/ui/issues/issue-26459.stderr @@ -1,5 +1,5 @@ error[E0574]: expected struct, variant or union type, found builtin type `char` - --> $DIR/issue-26459.rs:3:9 + --> $DIR/issue-26459.rs:5:9 | LL | char{ch} => true | ^^^^ not a struct, variant or union type |
