rust/src/libstd
bors 48ab4cde54 Auto merge of #47268 - EdSchouten:cloudabi-libstd, r=alexcrichton
Implement libstd for CloudABI.

Though CloudABI is strongly inspired by POSIX, its absence of features that don't work well with capability-based sandboxing makes it different enough that adding bits to `sys/unix` will make things a mess. This change therefore adds CloudABI specific platform code under `sys/cloudabi`.

One of the goals of this implementation is to build as much as possible directly on top of CloudABI's system call layer, as opposed to using the C library. This is preferred, as the system call layer is supposed to be stable, whereas the C library ABI technically is not. An advantage of this approach is that it allows us to implement certain interfaces, such as mutexes and condition variables more optimally. They can be lighter than the ones provided by pthreads.

This change disables some modules that cannot realistically be implemented right now. For example, libstd's pathname abstraction is not designed with POSIX `*at()` (e.g., `openat()`) in mind. The `*at()` functions are the only set of file system APIs available on CloudABI. There is no global file system namespace, nor a process working directory. Discussions on how to port these modules over are outside the scope of this change.
2018-01-14 08:49:10 +00:00
..
collections Add HashMap::remove_entry 2018-01-07 14:17:37 -08:00
ffi Rollup merge of #47357 - whentze:osstr-doc-fix, r=GuillaumeGomez 2018-01-13 03:17:03 +08:00
io Auto merge of #46832 - Diggsey:bufread-cheaper-seek, r=alexcrichton 2018-01-14 00:42:11 +00:00
net Make tests build on CloudABI. 2018-01-11 11:28:34 +01:00
os add aarch64-unknown-openbsd support 2017-12-17 19:48:31 +01:00
prelude Move unused-extern-crate to late pass 2017-08-27 19:02:24 +09:00
rand Update miri to rustc changes 2017-12-06 09:25:29 +01:00
sync fix typo rwlock.rs 2018-01-10 08:03:10 +03:00
sys Make the documentation build work on CloudABI. 2018-01-11 11:29:52 +01:00
sys_common Add shims for modules that we can't implement on CloudABI. 2018-01-11 11:26:13 +01:00
thread Update miri to rustc changes 2017-12-06 09:25:29 +01:00
time Fix Duration::subsec_millis and Duration::subsec_micros examples 2018-01-12 13:38:24 +08:00
ascii.rs Fix doc typo for is_ascii_graphic 2017-12-30 21:27:43 +00:00
build.rs Add proper library dependencies for libstd on CloudABI. 2017-12-29 09:33:26 +01:00
Cargo.toml Update miri to rustc changes 2017-12-06 09:25:29 +01:00
env.rs Make tests build on CloudABI. 2018-01-11 11:28:34 +01:00
error.rs Rename never_type_impls gate to never_type 2017-12-12 14:03:03 +08:00
f32.rs Make core::f32/f64 docs match std. 2017-12-21 20:32:07 -05:00
f64.rs Make core::f32/f64 docs match std. 2017-12-21 20:32:07 -05:00
fs.rs Auto merge of #47268 - EdSchouten:cloudabi-libstd, r=alexcrichton 2018-01-14 08:49:10 +00:00
heap.rs Update miri to rustc changes 2017-12-06 09:25:29 +01:00
lib.rs Auto merge of #46461 - zackmdavis:elemental_method_suggestion_jamboree, r=estebank 2018-01-13 02:15:19 +00:00
macros.rs Fixed a typo in the compile_error docs 2018-01-08 16:35:06 -08:00
memchr.rs Fix inconsistent doc headings 2017-08-24 18:42:53 +02:00
num.rs Auto merge of #40706 - irfanhudda:doc-next-power-of-two, r=alexcrichton 2017-06-08 01:07:08 +00:00
panic.rs Adjust tests for removal of impl Foo for .. {} 2018-01-13 18:48:00 +03:00
panicking.rs We have Rust 1.25 now 2018-01-10 03:27:08 +01:00
path.rs Auto merge of #46461 - zackmdavis:elemental_method_suggestion_jamboree, r=estebank 2018-01-13 02:15:19 +00:00
primitive_docs.rs Rename never_type_impls gate to never_type 2017-12-12 14:03:03 +08:00
process.rs Make tests build on CloudABI. 2018-01-11 11:28:34 +01:00
rt.rs Bump to 1.25.0 2018-01-04 07:21:22 -08:00
termination.rs Bump to 1.25.0 2018-01-04 07:21:22 -08:00