From f8c8ad634aace503e91886db488548d990c065b1 Mon Sep 17 00:00:00 2001 From: Dylan MacKenzie Date: Sun, 2 Jun 2019 21:20:13 -0700 Subject: [PATCH] Remove shim for `type_name`. --- src/intrinsic.rs | 8 -------- tests/run-pass/intrinsics.rs | 5 +++++ 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/src/intrinsic.rs b/src/intrinsic.rs index d46d185c5f..b9273758a2 100644 --- a/src/intrinsic.rs +++ b/src/intrinsic.rs @@ -398,14 +398,6 @@ pub trait EvalContextExt<'a, 'mir, 'tcx: 'a+'mir>: crate::MiriEvalContextExt<'a, )?; } - "type_name" => { - let ty = substs.type_at(0); - let ty_name = ty.to_string(); - let ptr = this.memory_mut().allocate_static_bytes(ty_name.as_bytes(), MiriMemoryKind::Static.into()); - let value = Immediate::new_slice(Scalar::Ptr(ptr), ty_name.len() as u64, this); - this.write_immediate(value, dest)?; - } - "unchecked_div" => { let l = this.read_immediate(args[0])?; let r = this.read_immediate(args[1])?; diff --git a/tests/run-pass/intrinsics.rs b/tests/run-pass/intrinsics.rs index 3152737a60..963265749d 100644 --- a/tests/run-pass/intrinsics.rs +++ b/tests/run-pass/intrinsics.rs @@ -1,3 +1,6 @@ +#![feature(core_intrinsics)] + +use std::intrinsics::type_name; use std::mem::{size_of, size_of_val}; fn main() { @@ -7,4 +10,6 @@ fn main() { assert_eq!(size_of_val(&[] as &[i32]), 0); assert_eq!(size_of_val(&[1, 2, 3] as &[i32]), 12); assert_eq!(size_of_val("foobar"), 6); + + assert_eq!(unsafe { type_name::>() }, "core::option::Option"); }