@@ -931,32 +931,32 @@ impl<'a, 'gcx, 'tcx> ExprUseVisitor<'a, 'gcx, 'tcx> {
931931 debug ! ( "walk_captures({:?})" , closure_expr) ;
932932
933933 let closure_def_id = self . tcx ( ) . hir ( ) . local_def_id_from_hir_id ( closure_expr. hir_id ) ;
934- if let Some ( freevars ) = self . tcx ( ) . freevars ( closure_def_id) {
935- for freevar in freevars . iter ( ) {
936- let var_hir_id = freevar . var_id ( ) ;
934+ if let Some ( upvars ) = self . tcx ( ) . upvars ( closure_def_id) {
935+ for upvar in upvars . iter ( ) {
936+ let var_hir_id = upvar . var_id ( ) ;
937937 let upvar_id = ty:: UpvarId {
938938 var_path : ty:: UpvarPath { hir_id : var_hir_id } ,
939939 closure_expr_id : closure_def_id. to_local ( ) ,
940940 } ;
941941 let upvar_capture = self . mc . tables . upvar_capture ( upvar_id) ;
942942 let cmt_var = return_if_err ! ( self . cat_captured_var( closure_expr. hir_id,
943943 fn_decl_span,
944- freevar ) ) ;
944+ upvar ) ) ;
945945 match upvar_capture {
946946 ty:: UpvarCapture :: ByValue => {
947947 let mode = copy_or_move ( & self . mc ,
948948 self . param_env ,
949949 & cmt_var,
950950 CaptureMove ) ;
951- self . delegate . consume ( closure_expr. hir_id , freevar . span , & cmt_var, mode) ;
951+ self . delegate . consume ( closure_expr. hir_id , upvar . span , & cmt_var, mode) ;
952952 }
953953 ty:: UpvarCapture :: ByRef ( upvar_borrow) => {
954954 self . delegate . borrow ( closure_expr. hir_id ,
955955 fn_decl_span,
956956 & cmt_var,
957957 upvar_borrow. region ,
958958 upvar_borrow. kind ,
959- ClosureCapture ( freevar . span ) ) ;
959+ ClosureCapture ( upvar . span ) ) ;
960960 }
961961 }
962962 }
@@ -966,7 +966,7 @@ impl<'a, 'gcx, 'tcx> ExprUseVisitor<'a, 'gcx, 'tcx> {
966966 fn cat_captured_var ( & mut self ,
967967 closure_hir_id : hir:: HirId ,
968968 closure_span : Span ,
969- upvar : & hir:: Freevar )
969+ upvar : & hir:: Upvar )
970970 -> mc:: McResult < mc:: cmt_ < ' tcx > > {
971971 // Create the cmt for the variable being borrowed, from the
972972 // caller's perspective
0 commit comments