@@ -2170,12 +2170,12 @@ impl<'a> LoweringContext<'a> {
2170
2170
// let result = match ::std::iter::IntoIterator::into_iter(<head>) {
2171
2171
// mut iter => {
2172
2172
// [opt_ident]: loop {
2173
- // let next ;
2173
+ // let mut _next ;
2174
2174
// match ::std::iter::Iterator::next(&mut iter) {
2175
- // ::std::option::Option::Some(val) => next = val,
2175
+ // ::std::option::Option::Some(val) => _next = val,
2176
2176
// ::std::option::Option::None => break
2177
2177
// };
2178
- // let <pat> = next ;
2178
+ // let <pat> = _next ;
2179
2179
// StmtExpr(<body>);
2180
2180
// }
2181
2181
// }
@@ -2188,8 +2188,8 @@ impl<'a> LoweringContext<'a> {
2188
2188
2189
2189
let iter = self . str_to_ident ( "iter" ) ;
2190
2190
2191
- let next_ident = self . str_to_ident ( "next " ) ;
2192
- let next_pat = self . pat_ident ( e. span , next_ident) ;
2191
+ let next_ident = self . str_to_ident ( "_next " ) ;
2192
+ let next_pat = self . pat_ident_binding_mode ( e. span , next_ident, hir :: BindByValue ( hir :: MutMutable ) ) ;
2193
2193
2194
2194
// `::std::option::Option::Some(val) => next = val`
2195
2195
let pat_arm = {
@@ -2235,13 +2235,13 @@ impl<'a> LoweringContext<'a> {
2235
2235
2236
2236
let next_expr = P ( self . expr_ident ( e. span , next_ident, next_pat. id ) ) ;
2237
2237
2238
- // `let next `
2238
+ // `let mut _next `
2239
2239
let next_let = self . stmt_let_pat ( e. span ,
2240
2240
None ,
2241
2241
next_pat,
2242
2242
hir:: LocalSource :: ForLoopDesugar ) ;
2243
2243
2244
- // `let <pat> = next `
2244
+ // `let <pat> = _next `
2245
2245
let pat = self . lower_pat ( pat) ;
2246
2246
let pat_let = self . stmt_let_pat ( e. span ,
2247
2247
Some ( next_expr) ,
0 commit comments