about summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--src/libarena/lib.rs4
-rw-r--r--src/libgreen/macros.rs2
-rw-r--r--src/libnative/io/pipe_unix.rs2
-rw-r--r--src/libnative/io/pipe_win32.rs2
-rw-r--r--src/librustdoc/html/markdown.rs2
-rw-r--r--src/libstd/any.rs4
-rw-r--r--src/libstd/cast.rs2
-rw-r--r--src/libstd/intrinsics.rs (renamed from src/libstd/unstable/intrinsics.rs)4
-rw-r--r--src/libstd/lib.rs3
-rw-r--r--src/libstd/local_data.rs2
-rw-r--r--src/libstd/mem.rs4
-rw-r--r--src/libstd/num/f32.rs2
-rw-r--r--src/libstd/num/f64.rs2
-rw-r--r--src/libstd/num/i16.rs2
-rw-r--r--src/libstd/num/i32.rs2
-rw-r--r--src/libstd/num/i64.rs2
-rw-r--r--src/libstd/num/i8.rs2
-rw-r--r--src/libstd/num/int.rs2
-rw-r--r--src/libstd/num/u16.rs2
-rw-r--r--src/libstd/num/u32.rs2
-rw-r--r--src/libstd/num/u64.rs2
-rw-r--r--src/libstd/num/u8.rs2
-rw-r--r--src/libstd/num/uint.rs2
-rw-r--r--src/libstd/ptr.rs2
-rw-r--r--src/libstd/reflect.rs2
-rw-r--r--src/libstd/repr.rs2
-rw-r--r--src/libstd/rt/global_heap.rs2
-rw-r--r--src/libstd/rt/unwind.rs2
-rw-r--r--src/libstd/rt/util.rs2
-rw-r--r--src/libstd/sync/atomics.rs2
-rw-r--r--src/libstd/unstable/mod.rs1
-rw-r--r--src/libstd/unstable/stack.rs2
-rw-r--r--src/test/auxiliary/typeid-intrinsic.rs4
-rw-r--r--src/test/auxiliary/typeid-intrinsic2.rs4
-rw-r--r--src/test/bench/sudoku.rs2
-rw-r--r--src/test/compile-fail/forget-init-unsafe.rs2
-rw-r--r--src/test/run-make/volatile-intrinsics/main.rs2
-rw-r--r--src/test/run-pass/issue-6898.rs2
-rw-r--r--src/test/run-pass/reflect-visit-type.rs2
-rw-r--r--src/test/run-pass/tydesc-name.rs2
-rw-r--r--src/test/run-pass/typeid-intrinsic.rs4
41 files changed, 49 insertions, 47 deletions
diff --git a/src/libarena/lib.rs b/src/libarena/lib.rs
index 3f5c2686064..3cf89c3124c 100644
--- a/src/libarena/lib.rs
+++ b/src/libarena/lib.rs
@@ -37,8 +37,8 @@ use std::num;
 use std::kinds::marker;
 use std::rc::Rc;
 use std::rt::global_heap;
-use std::unstable::intrinsics::{TyDesc, get_tydesc};
-use std::unstable::intrinsics;
+use std::intrinsics::{TyDesc, get_tydesc};
+use std::intrinsics;
 use std::vec;
 
 // The way arena uses arrays is really deeply awful. The arrays are
diff --git a/src/libgreen/macros.rs b/src/libgreen/macros.rs
index ef2c77fc8e2..ab106138ae1 100644
--- a/src/libgreen/macros.rs
+++ b/src/libgreen/macros.rs
@@ -124,7 +124,7 @@ memory and partly incapable of presentation to others.",
     abort();
 
     fn abort() -> ! {
-        use std::unstable::intrinsics;
+        use std::intrinsics;
         unsafe { intrinsics::abort() }
     }
 }
diff --git a/src/libnative/io/pipe_unix.rs b/src/libnative/io/pipe_unix.rs
index 64acdbf7f48..784d8650689 100644
--- a/src/libnative/io/pipe_unix.rs
+++ b/src/libnative/io/pipe_unix.rs
@@ -15,7 +15,7 @@ use std::libc;
 use std::mem;
 use std::rt::rtio;
 use std::sync::arc::UnsafeArc;
-use std::unstable::intrinsics;
+use std::intrinsics;
 
 use super::{IoResult, retry};
 use super::file::{keep_going, fd_t};
diff --git a/src/libnative/io/pipe_win32.rs b/src/libnative/io/pipe_win32.rs
index fc4fc0fa789..e5e9592eb5a 100644
--- a/src/libnative/io/pipe_win32.rs
+++ b/src/libnative/io/pipe_win32.rs
@@ -90,7 +90,7 @@ use std::os::win32::as_utf16_p;
 use std::ptr;
 use std::rt::rtio;
 use std::sync::arc::UnsafeArc;
-use std::unstable::intrinsics;
+use std::intrinsics;
 
 use super::IoResult;
 
diff --git a/src/librustdoc/html/markdown.rs b/src/librustdoc/html/markdown.rs
index af0a43efa14..4662742f25c 100644
--- a/src/librustdoc/html/markdown.rs
+++ b/src/librustdoc/html/markdown.rs
@@ -32,7 +32,7 @@ use std::io;
 use std::libc;
 use std::mem;
 use std::str;
-use std::unstable::intrinsics;
+use std::intrinsics;
 use std::vec;
 
 /// A unit struct which has the `fmt::Show` trait implemented. When
diff --git a/src/libstd/any.rs b/src/libstd/any.rs
index 3f14db14882..06ae20d60bc 100644
--- a/src/libstd/any.rs
+++ b/src/libstd/any.rs
@@ -25,8 +25,8 @@ use fmt;
 use option::{Option, Some, None};
 use result::{Result, Ok, Err};
 use to_str::ToStr;
-use unstable::intrinsics::TypeId;
-use unstable::intrinsics;
+use intrinsics::TypeId;
+use intrinsics;
 
 /// A type with no inhabitants
 pub enum Void { }
diff --git a/src/libstd/cast.rs b/src/libstd/cast.rs
index ffdd70a6c14..c2db0c78205 100644
--- a/src/libstd/cast.rs
+++ b/src/libstd/cast.rs
@@ -11,7 +11,7 @@
 //! Unsafe casting functions
 
 use mem;
-use unstable::intrinsics;
+use intrinsics;
 use ptr::copy_nonoverlapping_memory;
 
 /// Casts the value at `src` to U. The two types must have the same length.
diff --git a/src/libstd/unstable/intrinsics.rs b/src/libstd/intrinsics.rs
index c983d82563c..b386335a428 100644
--- a/src/libstd/unstable/intrinsics.rs
+++ b/src/libstd/intrinsics.rs
@@ -41,9 +41,11 @@ A quick refresher on memory ordering:
 
 */
 
+#[allow(missing_doc)];
+
 // This is needed to prevent duplicate lang item definitions.
 #[cfg(test)]
-pub use realstd::unstable::intrinsics::{TyDesc, Opaque, TyVisitor, TypeId};
+pub use realstd::intrinsics::{TyDesc, Opaque, TyVisitor, TypeId};
 
 pub type GlueFn = extern "Rust" fn(*i8);
 
diff --git a/src/libstd/lib.rs b/src/libstd/lib.rs
index 6996cba42b4..46958974484 100644
--- a/src/libstd/lib.rs
+++ b/src/libstd/lib.rs
@@ -196,7 +196,8 @@ pub mod reflect;
 // Private APIs
 #[unstable]
 pub mod unstable;
-
+#[experimental]
+pub mod intrinsics;
 
 /* For internal use, not exported */
 
diff --git a/src/libstd/local_data.rs b/src/libstd/local_data.rs
index 043da46ba5e..6b854daabda 100644
--- a/src/libstd/local_data.rs
+++ b/src/libstd/local_data.rs
@@ -281,7 +281,7 @@ fn get_with<T:'static,
 }
 
 fn abort() -> ! {
-    use std::unstable::intrinsics;
+    use intrinsics;
     unsafe { intrinsics::abort() }
 }
 
diff --git a/src/libstd/mem.rs b/src/libstd/mem.rs
index 11053f01ded..603f2b80eea 100644
--- a/src/libstd/mem.rs
+++ b/src/libstd/mem.rs
@@ -17,8 +17,8 @@
 
 use cast;
 use ptr;
-use unstable::intrinsics;
-use unstable::intrinsics::{bswap16, bswap32, bswap64};
+use intrinsics;
+use intrinsics::{bswap16, bswap32, bswap64};
 
 /// Returns the size of a type in bytes.
 #[inline]
diff --git a/src/libstd/num/f32.rs b/src/libstd/num/f32.rs
index da3f2c1636f..7b1fe949199 100644
--- a/src/libstd/num/f32.rs
+++ b/src/libstd/num/f32.rs
@@ -20,7 +20,7 @@ use num::{FPCategory, FPNaN, FPInfinite , FPZero, FPSubnormal, FPNormal};
 use num::{Zero, One, Bounded, strconv};
 use num;
 use to_str;
-use unstable::intrinsics;
+use intrinsics;
 
 macro_rules! delegate(
     (
diff --git a/src/libstd/num/f64.rs b/src/libstd/num/f64.rs
index 24165cbef50..d5a571cdd23 100644
--- a/src/libstd/num/f64.rs
+++ b/src/libstd/num/f64.rs
@@ -21,7 +21,7 @@ use num::{FPCategory, FPNaN, FPInfinite , FPZero, FPSubnormal, FPNormal};
 use num::{Zero, One, Bounded, strconv};
 use num;
 use to_str;
-use unstable::intrinsics;
+use intrinsics;
 
 pub use cmp::{min, max};
 
diff --git a/src/libstd/num/i16.rs b/src/libstd/num/i16.rs
index cbeff5d4aa2..141626ed98a 100644
--- a/src/libstd/num/i16.rs
+++ b/src/libstd/num/i16.rs
@@ -20,7 +20,7 @@ use num::{CheckedDiv, Zero, One, strconv};
 use num::{ToStrRadix, FromStrRadix};
 use option::{Option, Some, None};
 use str;
-use unstable::intrinsics;
+use intrinsics;
 
 int_module!(i16, 16)
 
diff --git a/src/libstd/num/i32.rs b/src/libstd/num/i32.rs
index 9afc1a14545..a43a6e6a288 100644
--- a/src/libstd/num/i32.rs
+++ b/src/libstd/num/i32.rs
@@ -20,7 +20,7 @@ use num::{CheckedDiv, Zero, One, strconv};
 use num::{ToStrRadix, FromStrRadix};
 use option::{Option, Some, None};
 use str;
-use unstable::intrinsics;
+use intrinsics;
 
 int_module!(i32, 32)
 
diff --git a/src/libstd/num/i64.rs b/src/libstd/num/i64.rs
index f1e9f5a4fdc..e8503d808a7 100644
--- a/src/libstd/num/i64.rs
+++ b/src/libstd/num/i64.rs
@@ -22,7 +22,7 @@ use num::{CheckedDiv, Zero, One, strconv};
 use num::{ToStrRadix, FromStrRadix};
 use option::{Option, Some, None};
 use str;
-use unstable::intrinsics;
+use intrinsics;
 
 int_module!(i64, 64)
 
diff --git a/src/libstd/num/i8.rs b/src/libstd/num/i8.rs
index e0e549b731a..9f857ff40ff 100644
--- a/src/libstd/num/i8.rs
+++ b/src/libstd/num/i8.rs
@@ -20,7 +20,7 @@ use num::{CheckedDiv, Zero, One, strconv};
 use num::{ToStrRadix, FromStrRadix};
 use option::{Option, Some, None};
 use str;
-use unstable::intrinsics;
+use intrinsics;
 
 int_module!(i8, 8)
 
diff --git a/src/libstd/num/int.rs b/src/libstd/num/int.rs
index d525639045e..6d1a50b724f 100644
--- a/src/libstd/num/int.rs
+++ b/src/libstd/num/int.rs
@@ -20,7 +20,7 @@ use num::{CheckedDiv, Zero, One, strconv};
 use num::{ToStrRadix, FromStrRadix};
 use option::{Option, Some, None};
 use str;
-use unstable::intrinsics;
+use intrinsics;
 
 #[cfg(target_word_size = "32")] int_module!(int, 32)
 #[cfg(target_word_size = "64")] int_module!(int, 64)
diff --git a/src/libstd/num/u16.rs b/src/libstd/num/u16.rs
index 770db889af5..da0293b3418 100644
--- a/src/libstd/num/u16.rs
+++ b/src/libstd/num/u16.rs
@@ -21,7 +21,7 @@ use num::{CheckedDiv, Zero, One, strconv};
 use num::{ToStrRadix, FromStrRadix};
 use option::{Option, Some, None};
 use str;
-use unstable::intrinsics;
+use intrinsics;
 
 uint_module!(u16, i16, 16)
 
diff --git a/src/libstd/num/u32.rs b/src/libstd/num/u32.rs
index 9e08ffed3b7..b103e18f701 100644
--- a/src/libstd/num/u32.rs
+++ b/src/libstd/num/u32.rs
@@ -21,7 +21,7 @@ use num::{CheckedDiv, Zero, One, strconv};
 use num::{ToStrRadix, FromStrRadix};
 use option::{Option, Some, None};
 use str;
-use unstable::intrinsics;
+use intrinsics;
 
 uint_module!(u32, i32, 32)
 
diff --git a/src/libstd/num/u64.rs b/src/libstd/num/u64.rs
index 17eebed967c..f7956f0128e 100644
--- a/src/libstd/num/u64.rs
+++ b/src/libstd/num/u64.rs
@@ -23,7 +23,7 @@ use num::{CheckedDiv, Zero, One, strconv};
 use num::{ToStrRadix, FromStrRadix};
 use option::{Option, Some, None};
 use str;
-use unstable::intrinsics;
+use intrinsics;
 
 uint_module!(u64, i64, 64)
 
diff --git a/src/libstd/num/u8.rs b/src/libstd/num/u8.rs
index 4aa34b6d880..e6ce9c72e96 100644
--- a/src/libstd/num/u8.rs
+++ b/src/libstd/num/u8.rs
@@ -21,7 +21,7 @@ use num::{CheckedDiv, Zero, One, strconv};
 use num::{ToStrRadix, FromStrRadix};
 use option::{Option, Some, None};
 use str;
-use unstable::intrinsics;
+use intrinsics;
 
 uint_module!(u8, i8, 8)
 
diff --git a/src/libstd/num/uint.rs b/src/libstd/num/uint.rs
index 1811ebc7acc..a8c85787f7e 100644
--- a/src/libstd/num/uint.rs
+++ b/src/libstd/num/uint.rs
@@ -21,7 +21,7 @@ use num::{CheckedDiv, Zero, One, strconv};
 use num::{ToStrRadix, FromStrRadix};
 use option::{Option, Some, None};
 use str;
-use unstable::intrinsics;
+use intrinsics;
 
 uint_module!(uint, int, ::int::BITS)
 
diff --git a/src/libstd/ptr.rs b/src/libstd/ptr.rs
index 193e9ea7052..86264c1ca55 100644
--- a/src/libstd/ptr.rs
+++ b/src/libstd/ptr.rs
@@ -17,7 +17,7 @@ use cmp::Equiv;
 use iter::{range, Iterator};
 use mem;
 use option::{Option, Some, None};
-use unstable::intrinsics;
+use intrinsics;
 
 #[cfg(not(test))] use cmp::{Eq, Ord};
 
diff --git a/src/libstd/reflect.rs b/src/libstd/reflect.rs
index f88da60ae9b..5ee840748e6 100644
--- a/src/libstd/reflect.rs
+++ b/src/libstd/reflect.rs
@@ -16,7 +16,7 @@ Runtime type reflection
 
 #[allow(missing_doc)];
 
-use unstable::intrinsics::{Disr, Opaque, TyDesc, TyVisitor};
+use intrinsics::{Disr, Opaque, TyDesc, TyVisitor};
 use mem;
 use unstable::raw;
 
diff --git a/src/libstd/repr.rs b/src/libstd/repr.rs
index 680ac112300..8e1a0714748 100644
--- a/src/libstd/repr.rs
+++ b/src/libstd/repr.rs
@@ -29,7 +29,7 @@ use result::{Ok, Err};
 use str::StrSlice;
 use to_str::ToStr;
 use vec::OwnedVector;
-use unstable::intrinsics::{Disr, Opaque, TyDesc, TyVisitor, get_tydesc, visit_tydesc};
+use intrinsics::{Disr, Opaque, TyDesc, TyVisitor, get_tydesc, visit_tydesc};
 use unstable::raw;
 
 macro_rules! try( ($me:expr, $e:expr) => (
diff --git a/src/libstd/rt/global_heap.rs b/src/libstd/rt/global_heap.rs
index 8128bb02148..191d57a58fc 100644
--- a/src/libstd/rt/global_heap.rs
+++ b/src/libstd/rt/global_heap.rs
@@ -10,7 +10,7 @@
 
 use libc::{c_void, size_t, free, malloc, realloc};
 use ptr::{RawPtr, mut_null};
-use unstable::intrinsics::abort;
+use intrinsics::abort;
 use unstable::raw;
 use mem::size_of;
 
diff --git a/src/libstd/rt/unwind.rs b/src/libstd/rt/unwind.rs
index ef8bd94c897..127859b4275 100644
--- a/src/libstd/rt/unwind.rs
+++ b/src/libstd/rt/unwind.rs
@@ -69,7 +69,7 @@ use rt::local::Local;
 use rt::task::Task;
 use str::Str;
 use task::TaskResult;
-use unstable::intrinsics;
+use intrinsics;
 
 use uw = self::libunwind;
 
diff --git a/src/libstd/rt/util.rs b/src/libstd/rt/util.rs
index 69e240f30bc..408f51f2017 100644
--- a/src/libstd/rt/util.rs
+++ b/src/libstd/rt/util.rs
@@ -143,7 +143,7 @@ memory and partly incapable of presentation to others.",
     abort();
 
     fn abort() -> ! {
-        use std::unstable::intrinsics;
+        use intrinsics;
         unsafe { intrinsics::abort() }
     }
 }
diff --git a/src/libstd/sync/atomics.rs b/src/libstd/sync/atomics.rs
index 00ce07d747f..b4d465c0397 100644
--- a/src/libstd/sync/atomics.rs
+++ b/src/libstd/sync/atomics.rs
@@ -21,7 +21,7 @@
 
 #[allow(missing_doc)];
 
-use unstable::intrinsics;
+use intrinsics;
 use cast;
 use std::kinds::marker;
 use option::{Option,Some,None};
diff --git a/src/libstd/unstable/mod.rs b/src/libstd/unstable/mod.rs
index 87870ef0331..d3dae938b34 100644
--- a/src/libstd/unstable/mod.rs
+++ b/src/libstd/unstable/mod.rs
@@ -16,7 +16,6 @@ use libc::uintptr_t;
 pub mod dynamic_lib;
 
 pub mod finally;
-pub mod intrinsics;
 pub mod simd;
 #[cfg(not(test))]
 pub mod lang;
diff --git a/src/libstd/unstable/stack.rs b/src/libstd/unstable/stack.rs
index 90c7888973a..655c209fec8 100644
--- a/src/libstd/unstable/stack.rs
+++ b/src/libstd/unstable/stack.rs
@@ -40,7 +40,7 @@ pub extern "C" fn rust_stack_exhausted() {
     use rt::local::Local;
     use rt::task::Task;
     use str::Str;
-    use unstable::intrinsics;
+    use intrinsics;
 
     unsafe {
         // We're calling this function because the stack just ran out. We need
diff --git a/src/test/auxiliary/typeid-intrinsic.rs b/src/test/auxiliary/typeid-intrinsic.rs
index 9bb86737261..b6c35f48010 100644
--- a/src/test/auxiliary/typeid-intrinsic.rs
+++ b/src/test/auxiliary/typeid-intrinsic.rs
@@ -8,8 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::unstable::intrinsics;
-use std::unstable::intrinsics::TypeId;
+use std::intrinsics;
+use std::intrinsics::TypeId;
 
 pub struct A;
 pub struct B(Option<A>);
diff --git a/src/test/auxiliary/typeid-intrinsic2.rs b/src/test/auxiliary/typeid-intrinsic2.rs
index 9bb86737261..b6c35f48010 100644
--- a/src/test/auxiliary/typeid-intrinsic2.rs
+++ b/src/test/auxiliary/typeid-intrinsic2.rs
@@ -8,8 +8,8 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::unstable::intrinsics;
-use std::unstable::intrinsics::TypeId;
+use std::intrinsics;
+use std::intrinsics::TypeId;
 
 pub struct A;
 pub struct B(Option<A>);
diff --git a/src/test/bench/sudoku.rs b/src/test/bench/sudoku.rs
index 56390b70ab3..b77180e8e4c 100644
--- a/src/test/bench/sudoku.rs
+++ b/src/test/bench/sudoku.rs
@@ -18,7 +18,7 @@ use std::io;
 use std::io::stdio::StdReader;
 use std::io::BufferedReader;
 use std::os;
-use std::unstable::intrinsics::cttz16;
+use std::intrinsics::cttz16;
 use std::vec;
 
 // Computes a single solution to a given 9x9 sudoku
diff --git a/src/test/compile-fail/forget-init-unsafe.rs b/src/test/compile-fail/forget-init-unsafe.rs
index 9ad7a178fb1..12df0c71cc5 100644
--- a/src/test/compile-fail/forget-init-unsafe.rs
+++ b/src/test/compile-fail/forget-init-unsafe.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::unstable::intrinsics::{init, forget};
+use std::intrinsics::{init, forget};
 
 // Test that the `forget` and `init` intrinsics are really unsafe
 pub fn main() {
diff --git a/src/test/run-make/volatile-intrinsics/main.rs b/src/test/run-make/volatile-intrinsics/main.rs
index 5011a7540a7..6dffb53e4a3 100644
--- a/src/test/run-make/volatile-intrinsics/main.rs
+++ b/src/test/run-make/volatile-intrinsics/main.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::unstable::intrinsics::{volatile_load, volatile_store};
+use std::intrinsics::{volatile_load, volatile_store};
 
 pub fn main() {
     unsafe {
diff --git a/src/test/run-pass/issue-6898.rs b/src/test/run-pass/issue-6898.rs
index 48a02063c6d..9e6293216bc 100644
--- a/src/test/run-pass/issue-6898.rs
+++ b/src/test/run-pass/issue-6898.rs
@@ -8,7 +8,7 @@
 // option. This file may not be copied, modified, or distributed
 // except according to those terms.
 
-use std::unstable::intrinsics;
+use std::intrinsics;
 
 /// Returns the size of a type
 pub fn size_of<T>() -> uint {
diff --git a/src/test/run-pass/reflect-visit-type.rs b/src/test/run-pass/reflect-visit-type.rs
index 56db021e2bc..f81ddabf77c 100644
--- a/src/test/run-pass/reflect-visit-type.rs
+++ b/src/test/run-pass/reflect-visit-type.rs
@@ -10,7 +10,7 @@
 
 #[feature(managed_boxes)];
 
-use std::unstable::intrinsics::{TyDesc, get_tydesc, visit_tydesc, TyVisitor, Disr, Opaque};
+use std::intrinsics::{TyDesc, get_tydesc, visit_tydesc, TyVisitor, Disr, Opaque};
 
 struct MyVisitor {
     types: ~[~str],
diff --git a/src/test/run-pass/tydesc-name.rs b/src/test/run-pass/tydesc-name.rs
index ea337aae27b..b3835ad5cdf 100644
--- a/src/test/run-pass/tydesc-name.rs
+++ b/src/test/run-pass/tydesc-name.rs
@@ -10,7 +10,7 @@
 
 // ignore-fast: check-fast screws up repr paths
 
-use std::unstable::intrinsics::get_tydesc;
+use std::intrinsics::get_tydesc;
 
 struct Foo<T> {
     x: T
diff --git a/src/test/run-pass/typeid-intrinsic.rs b/src/test/run-pass/typeid-intrinsic.rs
index 2d5c1d100be..b8356cc0e44 100644
--- a/src/test/run-pass/typeid-intrinsic.rs
+++ b/src/test/run-pass/typeid-intrinsic.rs
@@ -16,8 +16,8 @@ extern crate other1 = "typeid-intrinsic";
 extern crate other2 = "typeid-intrinsic2";
 
 use std::hash_old::Hash;
-use std::unstable::intrinsics;
-use std::unstable::intrinsics::TypeId;
+use std::intrinsics;
+use std::intrinsics::TypeId;
 
 struct A;
 struct Test;