]> git.lizzy.rs Git - rust.git/blob - src/libextra/lib.rs
Add generation of static libraries to rustc
[rust.git] / src / libextra / lib.rs
1 // Copyright 2012-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 /*!
12
13 Rust extras.
14
15 The `extra` crate is a set of useful modules for a variety of
16 purposes, including collections, numerics, I/O, serialization,
17 and concurrency.
18
19 Rust extras are part of the standard Rust distribution.
20
21 */
22
23 #[link(name = "extra",
24        package_id = "extra",
25        vers = "0.9-pre",
26        uuid = "122bed0b-c19b-4b82-b0b7-7ae8aead7297",
27        url = "https://github.com/mozilla/rust/tree/master/src/libextra")];
28
29 #[doc(html_logo_url = "http://www.rust-lang.org/logos/rust-logo-128x128-blk.png",
30       html_favicon_url = "http://www.rust-lang.org/favicon.ico",
31       html_root_url = "http://static.rust-lang.org/doc/master")];
32
33 #[comment = "Rust extras"];
34 #[license = "MIT/ASL2"];
35 #[crate_type = "lib"]; // NOTE: remove after stage0 snapshot
36 #[crate_type = "rlib"];
37 #[crate_type = "dylib"];
38
39 #[feature(macro_rules, globs, managed_boxes)];
40
41 #[deny(non_camel_case_types)];
42 #[deny(missing_doc)];
43
44 use std::str::{StrSlice, OwnedStr};
45
46 pub use std::os;
47
48 // Utility modules
49
50 pub mod c_vec;
51
52 // Concurrency
53
54 pub mod sync;
55 pub mod arc;
56 pub mod comm;
57 pub mod future;
58 pub mod task_pool;
59
60 // Collections
61
62 pub mod container;
63 pub mod bitv;
64 pub mod list;
65 pub mod ringbuf;
66 pub mod priority_queue;
67 pub mod smallintmap;
68
69 pub mod sort;
70
71 pub mod dlist;
72 pub mod treemap;
73 pub mod btree;
74
75 // And ... other stuff
76
77 pub mod url;
78 pub mod ebml;
79 pub mod getopts;
80 pub mod json;
81 pub mod tempfile;
82 pub mod glob;
83 pub mod term;
84 pub mod time;
85 pub mod arena;
86 pub mod base64;
87 pub mod workcache;
88 pub mod enum_set;
89 #[path="num/bigint.rs"]
90 pub mod bigint;
91 #[path="num/rational.rs"]
92 pub mod rational;
93 #[path="num/complex.rs"]
94 pub mod complex;
95 pub mod stats;
96 pub mod semver;
97 pub mod flate;
98 pub mod hex;
99 pub mod uuid;
100
101
102 #[cfg(unicode)]
103 mod unicode;
104
105 pub mod terminfo;
106
107 // Compiler support modules
108
109 pub mod test;
110 pub mod serialize;
111
112 // A curious inner-module that's not exported that contains the binding
113 // 'extra' so that macro-expanded references to extra::serialize and such
114 // can be resolved within libextra.
115 #[doc(hidden)]
116 pub mod extra {
117     pub use serialize;
118     pub use test;
119
120     // For bootstrapping.
121     pub use std::clone;
122     pub use std::condition;
123     pub use std::cmp;
124     pub use std::unstable;
125     pub use std::str;
126     pub use std::os;
127 }