@@ -4147,9 +4147,11 @@ impl Resolver {
4147
4147
fn resolve_arm ( & mut self , arm : & Arm ) {
4148
4148
self . value_ribs . push ( @Rib :: new ( NormalRibKind ) ) ;
4149
4149
4150
- let bindings_list = @ mut HashMap :: new ( ) ;
4150
+ let mut bindings_list = HashMap :: new ( ) ;
4151
4151
for pattern in arm. pats . iter ( ) {
4152
- self . resolve_pattern ( * pattern, RefutableMode , Some ( bindings_list) ) ;
4152
+ self . resolve_pattern ( * pattern,
4153
+ RefutableMode ,
4154
+ Some ( & mut bindings_list) ) ;
4153
4155
}
4154
4156
4155
4157
// This has to happen *after* we determine which
@@ -4298,7 +4300,7 @@ impl Resolver {
4298
4300
mode : PatternBindingMode ,
4299
4301
// Maps idents to the node ID for the (outermost)
4300
4302
// pattern that binds them
4301
- bindings_list : Option < @ mut HashMap < Name , NodeId > > ) {
4303
+ mut bindings_list : Option < & mut HashMap < Name , NodeId > > ) {
4302
4304
let pat_id = pattern. id ;
4303
4305
walk_pat ( pattern, |pattern| {
4304
4306
match pattern. node {
@@ -4388,7 +4390,7 @@ impl Resolver {
4388
4390
// passes make about or-patterns.)
4389
4391
4390
4392
match bindings_list {
4391
- Some ( bindings_list)
4393
+ Some ( ref mut bindings_list)
4392
4394
if !bindings_list. contains_key ( & renamed) => {
4393
4395
let this = & mut * self ;
4394
4396
let last_rib = this. value_ribs [
@@ -4401,7 +4403,7 @@ impl Resolver {
4401
4403
}
4402
4404
bindings_list. insert ( renamed, pat_id) ;
4403
4405
}
4404
- Some ( b) => {
4406
+ Some ( ref mut b) => {
4405
4407
if b. find ( & renamed) == Some ( & pat_id) {
4406
4408
// Then this is a duplicate variable
4407
4409
// in the same disjunct, which is an
0 commit comments