]> git.proxmox.com Git - rustc.git/blob - src/test/run-pass/auxiliary/typeid-intrinsic-aux1.rs
New upstream version 1.12.0+dfsg1
[rustc.git] / src / test / run-pass / auxiliary / typeid-intrinsic-aux1.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 pub type I = Box<Fn()>;
25
26 pub fn id_A() -> TypeId { TypeId::of::<A>() }
27 pub fn id_B() -> TypeId { TypeId::of::<B>() }
28 pub fn id_C() -> TypeId { TypeId::of::<C>() }
29 pub fn id_D() -> TypeId { TypeId::of::<D>() }
30 pub fn id_E() -> TypeId { TypeId::of::<E>() }
31 pub fn id_F() -> TypeId { TypeId::of::<F>() }
32 pub fn id_G() -> TypeId { TypeId::of::<G>() }
33 pub fn id_H() -> TypeId { TypeId::of::<H>() }
34 pub fn id_I() -> TypeId { TypeId::of::<I>() }
35
36 pub fn foo<T: Any>() -> TypeId { TypeId::of::<T>() }