#[link(name = "core", vers = "0.2", uuid = "c70c24a7-5551-4f73-8e37-380b11d80be8", url = "https://github.com/mozilla/rust/tree/master/src/libcore")]; #[comment = "The Rust core library"]; #[license = "MIT"]; #[crate_type = "lib"]; #[doc = " The Rust core library provides functionality that is closely tied to the Rust built-in types and runtime services, or that is used in nearly every non-trivial program. `core` includes modules corresponding to each of the integer types, each of the floating point types, the `bool` type, tuples, characters, strings, vectors (`vec`), shared boxes (`box`), and unsafe pointers (`ptr`). Additionally, `core` provides very commonly used built-in types and operations, concurrency primitives, platform abstractions, I/O, and complete bindings to the C standard library. `core` is linked by default to all crates and the contents imported. Implicitly, all crates behave as if they included the following prologue: use core; import core::*; This behavior can be disabled with the `#[no_core]` crate attribute. "]; // Don't link to core. We are core. #[no_core]; export int, i8, i16, i32, i64; export uint, u8, u16, u32, u64; export float, f32, f64; export box, char, str, ptr, vec, bool; export either, option, result, iter; export libc, os, io, run, rand, sys, unsafe, logging; export comm, task, future; export extfmt; export tuple; export to_str; export swappable; export dvec, dvec_iter; // NDM seems to be necessary for resolve to work export option_iter; // FIXME: This creates some APIs that I do not want to commit to. It is // currently exported for the uv code in std, but when that code moves into // core this should become unexported export priv; // Built-in-type support modules #[doc = "Operations and constants for `int`"] #[path = "int-template"] mod int { import inst::{ hash, pow }; export hash, pow; #[path = "int.rs"] mod inst; } #[doc = "Operations and constants for `i8`"] #[path = "int-template"] mod i8 { #[path = "i8.rs"] mod inst; } #[doc = "Operations and constants for `i16`"] #[path = "int-template"] mod i16 { #[path = "i16.rs"] mod inst; } #[doc = "Operations and constants for `i32`"] #[path = "int-template"] mod i32 { #[path = "i32.rs"] mod inst; } #[doc = "Operations and constants for `i64`"] #[path = "int-template"] mod i64 { #[path = "i64.rs"] mod inst; } #[doc = "Operations and constants for `uint`"] #[path = "uint-template"] mod uint { import inst::{ div_ceil, div_round, div_floor, hash, iterate, next_power_of_two }; export div_ceil, div_round, div_floor, hash, iterate, next_power_of_two; #[path = "uint.rs"] mod inst; } #[doc = "Operations and constants for `u8`"] #[path = "uint-template"] mod u8 { import inst::is_ascii; export is_ascii; #[path = "u8.rs"] mod inst; } #[doc = "Operations and constants for `u16`"] #[path = "uint-template"] mod u16 { #[path = "u16.rs"] mod inst; } #[doc = "Operations and constants for `u32`"] #[path = "uint-template"] mod u32 { #[path = "u32.rs"] mod inst; } #[doc = "Operations and constants for `u64`"] #[path = "uint-template"] mod u64 { #[path = "u64.rs"] mod inst; } mod box; mod char; mod float; mod f32; mod f64; mod str; mod ptr; mod vec; mod bool; mod tuple; // Ubiquitous-utility-type modules mod either; mod iter; mod logging; mod option; #[path="iter-trait"] mod option_iter { #[path = "option.rs"] mod inst; } mod result; mod to_str; mod swappable; mod dvec; #[path="iter-trait"] mod dvec_iter { #[path = "dvec.rs"] mod inst; } // Concurrency mod comm; mod task; mod future; // Runtime and language-primitive support mod io; mod libc; mod os; mod path; mod rand; mod run; mod sys; mod unsafe; // Modules supporting compiler-generated code // Exported but not part of the public interface mod extfmt; // For internal use, not exported mod unicode; mod priv; mod cmath; // Local Variables: // mode: rust; // fill-column: 78; // indent-tabs-mode: nil // c-basic-offset: 4 // buffer-file-coding-system: utf-8-unix // End: