2011-12-05 18:46:37 -06:00
|
|
|
#[link(name = "core",
|
2012-03-22 17:25:02 -05:00
|
|
|
vers = "0.2",
|
2011-12-05 18:46:37 -06:00
|
|
|
uuid = "c70c24a7-5551-4f73-8e37-380b11d80be8",
|
2012-03-28 15:42:17 -05:00
|
|
|
url = "https://github.com/mozilla/rust/tree/master/src/libcore")];
|
2011-12-05 18:46:37 -06:00
|
|
|
|
|
|
|
#[comment = "The Rust core library"];
|
2012-01-08 18:21:43 -06:00
|
|
|
#[license = "MIT"];
|
2011-12-08 23:08:23 -06:00
|
|
|
#[crate_type = "lib"];
|
2011-12-05 18:46:37 -06:00
|
|
|
|
2012-03-06 21:09:32 -06:00
|
|
|
#[doc = "
|
2012-04-19 03:00:52 -05:00
|
|
|
The Rust core library provides functionality that is closely tied to the Rust
|
2012-01-23 19:03:42 -06:00
|
|
|
built-in types and runtime services, or that is used in nearly every
|
|
|
|
non-trivial program.
|
2012-01-23 18:58:30 -06:00
|
|
|
|
2012-04-19 03:00:52 -05:00
|
|
|
`core` includes modules corresponding to each of the integer types, each of
|
2012-05-26 02:16:32 -05:00
|
|
|
the floating point types, the `bool` type, tuples, characters, strings,
|
2012-05-16 08:12:12 -05:00
|
|
|
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.
|
2012-04-19 03:00:52 -05:00
|
|
|
|
|
|
|
`core` is linked by default to all crates and the contents imported.
|
|
|
|
Implicitly, all crates behave as if they included the following prologue:
|
2012-01-23 18:58:30 -06:00
|
|
|
|
2012-01-23 19:11:01 -06:00
|
|
|
use core;
|
|
|
|
import core::*;
|
2012-01-23 18:58:30 -06:00
|
|
|
|
2012-04-19 03:00:52 -05:00
|
|
|
This behavior can be disabled with the `#[no_core]` crate attribute.
|
2012-03-06 21:09:32 -06:00
|
|
|
"];
|
2012-01-23 18:40:33 -06:00
|
|
|
|
2012-04-19 03:00:52 -05:00
|
|
|
// Don't link to core. We are core.
|
|
|
|
#[no_core];
|
|
|
|
|
2012-02-12 01:18:26 -06:00
|
|
|
export int, i8, i16, i32, i64;
|
|
|
|
export uint, u8, u16, u32, u64;
|
|
|
|
export float, f32, f64;
|
|
|
|
export box, char, str, ptr, vec, bool;
|
2012-01-31 20:52:20 -06:00
|
|
|
export either, option, result, iter;
|
2012-03-14 10:49:28 -05:00
|
|
|
export libc, os, io, run, rand, sys, unsafe, logging;
|
2012-02-19 01:03:18 -06:00
|
|
|
export comm, task, future;
|
2011-12-13 18:25:51 -06:00
|
|
|
export extfmt;
|
2012-01-17 12:43:29 -06:00
|
|
|
export tuple;
|
2012-02-22 06:06:38 -06:00
|
|
|
export to_str;
|
2012-05-09 19:30:31 -05:00
|
|
|
export swappable;
|
|
|
|
export dvec, dvec_iter;
|
2011-12-13 18:25:51 -06:00
|
|
|
|
2012-04-11 23:45:18 -05:00
|
|
|
// NDM seems to be necessary for resolve to work
|
2012-06-02 21:03:28 -05:00
|
|
|
export option_iter;
|
2012-04-11 23:45:18 -05:00
|
|
|
|
2012-04-04 23:17:50 -05:00
|
|
|
// 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;
|
|
|
|
|
2012-04-19 03:00:52 -05:00
|
|
|
|
2011-12-13 18:25:51 -06:00
|
|
|
// Built-in-type support modules
|
|
|
|
|
2012-04-14 19:21:10 -05:00
|
|
|
#[doc = "Operations and constants for `int`"]
|
|
|
|
#[path = "int-template"]
|
|
|
|
mod int {
|
2012-05-16 01:18:04 -05:00
|
|
|
import inst::{ hash, pow };
|
|
|
|
export hash, pow;
|
2012-04-14 19:21:10 -05:00
|
|
|
#[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;
|
|
|
|
}
|
|
|
|
|
2012-04-15 00:07:45 -05:00
|
|
|
#[doc = "Operations and constants for `uint`"]
|
|
|
|
#[path = "uint-template"]
|
|
|
|
mod uint {
|
|
|
|
import inst::{
|
|
|
|
div_ceil, div_round, div_floor, hash, iterate,
|
2012-05-16 00:50:29 -05:00
|
|
|
next_power_of_two
|
2012-04-15 00:07:45 -05:00
|
|
|
};
|
|
|
|
export div_ceil, div_round, div_floor, hash, iterate,
|
2012-05-16 00:50:29 -05:00
|
|
|
next_power_of_two;
|
2012-04-15 00:07:45 -05:00
|
|
|
|
|
|
|
#[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;
|
|
|
|
}
|
|
|
|
|
2012-04-19 03:00:52 -05:00
|
|
|
|
2011-12-13 18:25:51 -06:00
|
|
|
mod box;
|
|
|
|
mod char;
|
|
|
|
mod float;
|
2011-12-13 19:52:02 -06:00
|
|
|
mod f32;
|
|
|
|
mod f64;
|
2011-12-13 18:25:51 -06:00
|
|
|
mod str;
|
|
|
|
mod ptr;
|
|
|
|
mod vec;
|
|
|
|
mod bool;
|
2012-04-19 03:00:52 -05:00
|
|
|
mod tuple;
|
2011-12-13 18:25:51 -06:00
|
|
|
|
|
|
|
// Ubiquitous-utility-type modules
|
|
|
|
|
|
|
|
mod either;
|
2012-04-19 03:00:52 -05:00
|
|
|
mod iter;
|
|
|
|
mod logging;
|
2011-12-13 18:25:51 -06:00
|
|
|
mod option;
|
2012-04-11 23:45:18 -05:00
|
|
|
#[path="iter-trait"]
|
|
|
|
mod option_iter {
|
|
|
|
#[path = "option.rs"]
|
|
|
|
mod inst;
|
|
|
|
}
|
2011-12-13 18:25:51 -06:00
|
|
|
mod result;
|
2012-04-19 03:00:52 -05:00
|
|
|
mod to_str;
|
2012-05-09 19:30:31 -05:00
|
|
|
mod swappable;
|
|
|
|
mod dvec;
|
|
|
|
#[path="iter-trait"]
|
|
|
|
mod dvec_iter {
|
|
|
|
#[path = "dvec.rs"]
|
|
|
|
mod inst;
|
|
|
|
}
|
2012-02-22 06:06:38 -06:00
|
|
|
|
2012-04-19 03:00:52 -05:00
|
|
|
// Concurrency
|
|
|
|
mod comm;
|
|
|
|
mod task;
|
|
|
|
mod future;
|
|
|
|
|
2012-02-22 06:06:38 -06:00
|
|
|
|
2011-12-13 18:25:51 -06:00
|
|
|
// Runtime and language-primitive support
|
|
|
|
|
2012-04-19 03:00:52 -05:00
|
|
|
mod io;
|
2012-02-27 19:22:42 -06:00
|
|
|
mod libc;
|
2012-03-06 12:14:58 -06:00
|
|
|
mod os;
|
2012-03-02 19:20:00 -06:00
|
|
|
mod path;
|
2012-04-19 03:00:52 -05:00
|
|
|
mod rand;
|
|
|
|
mod run;
|
2011-12-13 18:25:51 -06:00
|
|
|
mod sys;
|
|
|
|
mod unsafe;
|
2012-02-14 18:39:20 -06:00
|
|
|
|
2011-12-13 18:25:51 -06:00
|
|
|
|
2012-04-19 03:00:52 -05:00
|
|
|
// Modules supporting compiler-generated code
|
|
|
|
// Exported but not part of the public interface
|
2011-12-13 18:25:51 -06:00
|
|
|
|
|
|
|
mod extfmt;
|
|
|
|
|
|
|
|
|
2012-04-19 03:00:52 -05:00
|
|
|
// For internal use, not exported
|
|
|
|
|
|
|
|
mod unicode;
|
|
|
|
mod priv;
|
|
|
|
mod cmath;
|
|
|
|
|
|
|
|
|
2011-12-05 18:46:37 -06:00
|
|
|
// Local Variables:
|
|
|
|
// mode: rust;
|
|
|
|
// fill-column: 78;
|
|
|
|
// indent-tabs-mode: nil
|
|
|
|
// c-basic-offset: 4
|
|
|
|
// buffer-file-coding-system: utf-8-unix
|
|
|
|
// End:
|