]> git.lizzy.rs Git - rust.git/blob - src/test/auxiliary/typeid-intrinsic.rs
Make the definite name of the local crate available in the tcx.
[rust.git] / src / test / auxiliary / typeid-intrinsic.rs
1 // Copyright 2013 The Rust Project Developers. See the COPYRIGHT
2 // file at the top-level directory of this distribution and at
3 // http://rust-lang.org/COPYRIGHT.
4 //
5 // Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
6 // http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
7 // <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
8 // option. This file may not be copied, modified, or distributed
9 // except according to those terms.
10
11 #![feature(core)]
12
13 use std::any::{Any, TypeId};
14
15 pub struct A;
16 pub struct B(Option<A>);
17 pub struct C(Option<isize>);
18 pub struct D(Option<&'static str>);
19 pub struct E(Result<&'static str, isize>);
20
21 pub type F = Option<isize>;
22 pub type G = usize;
23 pub type H = &'static str;
24
25 pub unsafe fn id_A() -> TypeId { TypeId::of::<A>() }
26 pub unsafe fn id_B() -> TypeId { TypeId::of::<B>() }
27 pub unsafe fn id_C() -> TypeId { TypeId::of::<C>() }
28 pub unsafe fn id_D() -> TypeId { TypeId::of::<D>() }
29 pub unsafe fn id_E() -> TypeId { TypeId::of::<E>() }
30 pub unsafe fn id_F() -> TypeId { TypeId::of::<F>() }
31 pub unsafe fn id_G() -> TypeId { TypeId::of::<G>() }
32 pub unsafe fn id_H() -> TypeId { TypeId::of::<H>() }
33
34 pub unsafe fn foo<T: Any>() -> TypeId { TypeId::of::<T>() }