File tree Expand file tree Collapse file tree 2 files changed +6
-7
lines changed
branches/dist-snap/src/librustc/middle Expand file tree Collapse file tree 2 files changed +6
-7
lines changed Original file line number Diff line number Diff line change @@ -6,7 +6,7 @@ refs/heads/try: c274a6888410ce3e357e014568b43310ed787d36
6
6
refs/tags/release-0.1: 1f5c5126e96c79d22cb7862f75304136e204f105
7
7
refs/heads/ndm: f3868061cd7988080c30d6d5bf352a5a5fe2460b
8
8
refs/heads/try2: 147ecfdd8221e4a4d4e090486829a06da1e0ca3c
9
- refs/heads/dist-snap: 822699e57e09d7070e122c6ed3c109ac402bc5dd
9
+ refs/heads/dist-snap: da7f41104dda48ac3a03cfa039cb3e9570f91a35
10
10
refs/tags/release-0.2: c870d2dffb391e14efb05aa27898f1f6333a9596
11
11
refs/tags/release-0.3: b5f0d0f648d9a6153664837026ba1be43d3e2503
12
12
refs/heads/try3: 9387340aab40a73e8424c48fd42f0c521a4875c0
Original file line number Diff line number Diff line change @@ -662,15 +662,14 @@ fn specialize(cx: &MatchCheckCtxt,
662
662
_ => None
663
663
}
664
664
}
665
- PatStruct ( _, ref flds , _) => {
665
+ PatStruct ( _, ref pattern_fields , _) => {
666
666
// Is this a struct or an enum variant?
667
667
match cx. tcx . def_map . get_copy ( & pat_id) {
668
668
DefVariant ( _, variant_id, _) => {
669
669
if variant ( variant_id) == * ctor_id {
670
- // FIXME #4731: Is this right? --pcw
671
- let args = flds. map ( |ty_field| {
672
- match flds. iter ( ) . find ( |f|
673
- f. ident == ty_field. ident ) {
670
+ let struct_fields = ty:: lookup_struct_fields ( cx. tcx , variant_id) ;
671
+ let args = struct_fields. map ( |sf| {
672
+ match pattern_fields. iter ( ) . find ( |f| f. ident . name == sf. name ) {
674
673
Some ( f) => f. pat ,
675
674
_ => wild ( )
676
675
}
@@ -700,7 +699,7 @@ fn specialize(cx: &MatchCheckCtxt,
700
699
}
701
700
}
702
701
let args = class_fields. iter ( ) . map ( |class_field| {
703
- match flds . iter ( ) . find ( |f|
702
+ match pattern_fields . iter ( ) . find ( |f|
704
703
f. ident . name == class_field. name ) {
705
704
Some ( f) => f. pat ,
706
705
_ => wild ( )
You can’t perform that action at this time.
0 commit comments