From 81fd86e0680947aa346c2c1d5b213ab036b68710 Mon Sep 17 00:00:00 2001 From: Nick Cameron Date: Mon, 24 Jul 2017 13:54:38 +1200 Subject: [PATCH] Catch a panic in save-analysis --- src/librustc_save_analysis/dump_visitor.rs | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/librustc_save_analysis/dump_visitor.rs b/src/librustc_save_analysis/dump_visitor.rs index f5f2887beb341..ebdd99dc80258 100644 --- a/src/librustc_save_analysis/dump_visitor.rs +++ b/src/librustc_save_analysis/dump_visitor.rs @@ -1315,8 +1315,8 @@ impl<'l, 'tcx: 'l, 'll, O: DumpOutput + 'll> Visitor<'l> for DumpVisitor<'l, 'tc ast::ExprKind::Struct(ref path, ref fields, ref base) => { let hir_expr = self.save_ctxt.tcx.hir.expect_expr(ex.id); let adt = match self.save_ctxt.tables.expr_ty_opt(&hir_expr) { - Some(ty) => ty.ty_adt_def().unwrap(), - None => { + Some(ty) if ty.ty_adt_def().is_some() => ty.ty_adt_def().unwrap(), + _ => { visit::walk_expr(self, ex); return; }