Skip to content

Commit 95d8865

Browse files
committed
---
yaml --- r: 124380 b: refs/heads/snap-stage3 c: 741bb1a h: refs/heads/master v: v3
1 parent 8ad95d0 commit 95d8865

File tree

2 files changed

+15
-9
lines changed

2 files changed

+15
-9
lines changed

[refs]

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
---
22
refs/heads/master: 32cb44bfff3facbded5fd9cc74af3f02e81565a8
33
refs/heads/snap-stage1: e33de59e47c5076a89eadeb38f4934f58a3618a6
4-
refs/heads/snap-stage3: bdf5b6c3daa2797c704f1f1b335b1280b8d8fbdb
4+
refs/heads/snap-stage3: 741bb1a57e42c3a5e23ef9b01d4fc806b3fc56af
55
refs/heads/try: dff46952ab5c4567d1b5b35bfbd8befc45cdd38e
66
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
77
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b

branches/snap-stage3/src/librustc/middle/typeck/check/_match.rs

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -507,14 +507,20 @@ pub fn check_pat(pcx: &pat_ctxt, pat: &ast::Pat, expected: ty::t) {
507507
ty::ty_struct(cid, ref substs) => {
508508
// Verify that the pattern named the right structure.
509509
let item_did = tcx.def_map.borrow().get(&pat.id).def_id();
510-
let struct_did =
511-
ty::ty_to_def_id(
512-
ty::lookup_item_type(tcx, item_did).ty).unwrap();
513-
if struct_did != cid {
514-
span_err!(tcx.sess, pat.span, E0032,
515-
"`{}` does not name the structure `{}`",
516-
pprust::path_to_string(path),
517-
fcx.infcx().ty_to_string(expected));
510+
match ty::ty_to_def_id(ty::lookup_item_type(tcx, item_did).ty) {
511+
Some(struct_did) if struct_did != cid => {
512+
span_err!(tcx.sess, path.span, E0032,
513+
"`{}` does not name the structure `{}`",
514+
pprust::path_to_string(path),
515+
fcx.infcx().ty_to_string(expected));
516+
},
517+
Some(_) => {},
518+
None => {
519+
tcx.sess.span_bug(
520+
path.span,
521+
format!("This shouldn't happen: failed to lookup structure. \
522+
item_did = {}", item_did).as_slice())
523+
},
518524
}
519525

520526
check_struct_pat(pcx, pat.id, pat.span, expected, path,

0 commit comments

Comments
 (0)