File tree Expand file tree Collapse file tree 1 file changed +7
-4
lines changed 
compiler/rustc_middle/src/mir Expand file tree Collapse file tree 1 file changed +7
-4
lines changed Original file line number Diff line number Diff line change @@ -190,7 +190,7 @@ pub enum BorrowKind {
190190#[ derive( Hash ,  HashStable ) ]  
191191pub  enum  MutBorrowKind  { 
192192 Default , 
193-  /// this  borrow arose from method-call auto-ref. (i.e., `adjustment::Adjust::Borrow`) 
193+  /// This  borrow arose from method-call auto-ref. (i.e., `adjustment::Adjust::Borrow`) 
194194TwoPhaseBorrow , 
195195 /// Data must be immutable but not aliasable. This kind of borrow 
196196/// cannot currently be expressed by the user and is used only in 
@@ -226,9 +226,12 @@ pub enum MutBorrowKind {
226226/// user code, if awkward, but extra weird for closures, since the 
227227/// borrow is hidden. 
228228/// 
229- /// So we introduce a "unique imm" borrow -- the referent is 
230- /// immutable, but not aliasable. This solves the problem. For 
231- /// simplicity, we don't give users the way to express this 
229+ /// So we introduce a `ClosureCapture` borrow -- user will not have to mark the variable 
230+ /// containing the mutable reference as `mut`, as they didn't ever 
231+ /// intend to mutate the mutable reference itself. We still mutable capture it in order to 
232+ /// mutate the pointed value through it (but not mutating the reference itself). 
233+ /// 
234+ /// This solves the problem. For simplicity, we don't give users the way to express this 
232235/// borrow, it's just used when translating closures. 
233236ClosureCapture , 
234237} 
                         You can’t perform that action at this time. 
           
                  
0 commit comments