diff --git a/rust-version b/rust-version index 3e7048ac72c..b72e1f53ef1 100644 --- a/rust-version +++ b/rust-version @@ -1 +1 @@ -5c45343f11fbf93cf4e15568aee3ff3f2f287466 +1cbd8a4d686d1411105f26cddf876c5994e69593 diff --git a/src/fn_call.rs b/src/fn_call.rs index 5397c048f9f..e9377d89bca 100644 --- a/src/fn_call.rs +++ b/src/fn_call.rs @@ -361,7 +361,7 @@ fn emulate_foreign_item( // Directly return to caller. StackPopCleanup::Goto(Some(ret)), )?; - let mut args = this.frame().mir.args_iter(); + let mut args = this.frame().body.args_iter(); let arg_local = args.next().ok_or_else(|| InterpError::AbiViolation( diff --git a/src/lib.rs b/src/lib.rs index 8577bc4714e..d0b7111bb06 100644 --- a/src/lib.rs +++ b/src/lib.rs @@ -125,7 +125,7 @@ pub fn create_ecx<'a, 'mir: 'a, 'tcx: 'mir>( StackPopCleanup::None { cleanup: true }, )?; - let mut args = ecx.frame().mir.args_iter(); + let mut args = ecx.frame().body.args_iter(); // First argument: pointer to `main()`. let main_ptr = ecx.memory_mut().create_fn_alloc(main_instance); @@ -252,7 +252,7 @@ pub fn eval_main<'a, 'tcx: 'a>( }; e.print_backtrace(); if let Some(frame) = ecx.stack().last() { - let block = &frame.mir.basic_blocks()[frame.block]; + let block = &frame.body.basic_blocks()[frame.block]; let span = if frame.stmt < block.statements.len() { block.statements[frame.stmt].source_info.span } else { @@ -451,7 +451,7 @@ fn box_alloc( StackPopCleanup::None { cleanup: true }, )?; - let mut args = ecx.frame().mir.args_iter(); + let mut args = ecx.frame().body.args_iter(); let layout = ecx.layout_of(dest.layout.ty.builtin_deref(false).unwrap().ty)?; // First argument: `size`. diff --git a/src/tls.rs b/src/tls.rs index b38b15c3e18..4101a3ab39b 100644 --- a/src/tls.rs +++ b/src/tls.rs @@ -148,7 +148,7 @@ fn run_tls_dtors(&mut self) -> InterpResult<'tcx> { Some(ret_place), StackPopCleanup::None { cleanup: true }, )?; - let arg_local = this.frame().mir.args_iter().next().ok_or_else( + let arg_local = this.frame().body.args_iter().next().ok_or_else( || InterpError::AbiViolation("TLS dtor does not take enough arguments.".to_owned()), )?; let dest = this.eval_place(&mir::Place::Base(mir::PlaceBase::Local(arg_local)))?;