diff --git a/src/rustc/middle/typeck/check/alt.rs b/src/rustc/middle/typeck/check/alt.rs index 6cd6f5f53aa..e1de3215495 100644 --- a/src/rustc/middle/typeck/check/alt.rs +++ b/src/rustc/middle/typeck/check/alt.rs @@ -283,6 +283,8 @@ fn check_pat(pcx: pat_ctxt, pat: @ast::pat, expected: ty::t) { for fields.each |field| { match field_map.find(field.ident) { some(index) => { + tcx.sess.span_err(pat.span, ~"Pattern-matching structs \ + is not allowed (#3215) until the next snapshot."); let class_field = class_fields[index]; let field_type = ty::lookup_field_type(tcx, class_id, diff --git a/src/test/run-pass/struct-pattern-matching.rs b/src/test/run-pass/struct-pattern-matching.rs index 0a4f3b933c0..aa24e269959 100644 --- a/src/test/run-pass/struct-pattern-matching.rs +++ b/src/test/run-pass/struct-pattern-matching.rs @@ -1,3 +1,4 @@ +// xfail-test struct Foo { x: int; y: int;