]> git.proxmox.com Git - rustc.git/blobdiff - src/librustc_mir/interpret/terminator/drop.rs
New upstream version 1.28.0~beta.14+dfsg1
[rustc.git] / src / librustc_mir / interpret / terminator / drop.rs
index fbc0c499e59ded5124946755aa90dec5e52063d0..c0fafa7f83e22886d51217a0a6c1402debe58d1b 100644 (file)
@@ -2,7 +2,7 @@ use rustc::mir::BasicBlock;
 use rustc::ty::{self, Ty};
 use syntax::codemap::Span;
 
-use rustc::mir::interpret::{EvalResult, PrimVal, Value};
+use rustc::mir::interpret::{EvalResult, Scalar, Value};
 use interpret::{Machine, ValTy, EvalContext, Place, PlaceExtra};
 
 impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M> {
@@ -28,7 +28,7 @@ impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M> {
                 ptr,
                 align: _,
                 extra: PlaceExtra::Length(len),
-            } => ptr.to_value_with_len(len),
+            } => ptr.to_value_with_len(len, self.tcx.tcx),
             Place::Ptr {
                 ptr,
                 align: _,
@@ -52,7 +52,7 @@ impl<'a, 'mir, 'tcx, M: Machine<'mir, 'tcx>> EvalContext<'a, 'mir, 'tcx, M> {
         let instance = match ty.sty {
             ty::TyDynamic(..) => {
                 let vtable = match arg {
-                    Value::ByValPair(_, PrimVal::Ptr(vtable)) => vtable,
+                    Value::ScalarPair(_, Scalar::Ptr(vtable)) => vtable,
                     _ => bug!("expected fat ptr, got {:?}", arg),
                 };
                 match self.read_drop_type_from_vtable(vtable)? {