rust/src
bors 1a33d7a541 auto merge of #16626 : ruud-v-a/rust/duration-reform, r=brson
This changes the internal representation of `Duration` from

    days: i32,
    secs: i32,
    nanos: u32

to

    secs: i64,
    nanos: i32

This resolves #16466. Note that `nanos` is an `i32` and not `u32` as suggested, because `i32` is easier to deal with, and it is not exposed anyway. Some methods now take `i64` instead of `i32` due to the increased range. Some methods, like `num_milliseconds`, now return an `Option<i64>` instead of `i64`, because the range of `Duration` is now larger than e.g. 2^63 milliseconds.

A few remarks:
- Negating `MIN` is impossible. I chose to return `MAX` as `-MIN`, but it is one nanosecond less than the actual negation. Is this the desired behaviour?
- In `std::io::timer`, some functions accept a `Duration`, which is internally converted into a number of milliseconds. However, the range of `Duration` is now larger than 2^64 milliseconds. There is already a FIXME in the file that this should be addressed (without a ticket number though). I chose to silently use 0 ms if the duration is too long. Is that right, as long as the backend still uses milliseconds?
- Negative durations are not formatted correctly, but they were not formatted correctly before either.
2014-08-28 22:11:18 +00:00
..
compiler-rt@62a4ca6055 Update compiler-rt to work for non-v7 arm. 2014-06-18 17:02:08 -07:00
compiletest Remove stage0 attributes. 2014-08-23 02:11:07 -07:00
doc auto merge of #16757 : steveklabnik/rust/lets_not_lie_in_the_concurrency_guide, r=alexcrichton 2014-08-27 21:31:13 +00:00
driver
etc auto merge of #16691 : klutzy/rust/issue-15297, r=alexcrichton 2014-08-23 22:35:56 +00:00
grammar adding proof of context-sensitivy of raw string literals 2014-07-27 02:13:19 -04:00
gyp@1e46da1000
jemalloc@024c67ad65 Updated deps 2014-06-12 20:20:12 +03:00
liballoc Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libarena arena: fix a typo 2014-08-21 10:09:36 -04:00
libbacktrace
libcollections Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libcore Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libcoretest Rebasing changes 2014-08-26 16:07:32 +12:00
libdebug Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libflate Update doc URLs for version bump 2014-07-11 11:21:57 -07:00
libfmt_macros Adjust the error messages to match the pattern "expected foo, found bar" 2014-08-24 09:53:01 +02:00
libfourcc Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libgetopts auto merge of #16512 : wickerwaka/rust/getopt-16348, r=brson 2014-08-22 00:56:00 +00:00
libglob glob: Deprecate the library in favor of cargo 2014-08-26 17:54:58 -07:00
libgraphviz Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libgreen Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libhexfloat Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
liblibc Rebasing changes 2014-08-26 16:07:32 +12:00
liblog Allow a regex filter for RUST_LOG 2014-08-28 10:14:57 +12:00
libnative Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libnum Use temp vars for implicit coercion to ^[T] 2014-08-26 12:37:45 +12:00
librand Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
librbml Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libregex regex: Enable test on Windows 2014-08-18 13:44:29 +09:00
libregex_macros Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
librlibc Rebasing changes 2014-08-26 16:07:32 +12:00
librustc Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
librustc_back DST coercions and DST structs 2014-08-26 12:38:51 +12:00
librustc_llvm Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
librustdoc Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
librustrt Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
librustuv Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libsemver Allow deprecation in deprecated libraries 2014-08-12 13:35:56 -07:00
libserialize Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libstd auto merge of #16626 : ruud-v-a/rust/duration-reform, r=brson 2014-08-28 22:11:18 +00:00
libsync Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libsyntax Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libterm auto merge of #16699 : treeman/rust/issue-8492, r=alexcrichton 2014-08-25 03:30:54 +00:00
libtest Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
libtime Rebasing changes 2014-08-26 16:07:32 +12:00
libunicode Rebasing changes 2014-08-26 16:07:32 +12:00
liburl Rebasing changes 2014-08-26 16:07:32 +12:00
libuuid librustc: Forbid external crates, imports, and/or items from being 2014-08-16 19:32:25 -07:00
libuv@dec0561d19 native, rustuv: Fix spawning with empty args 2014-08-05 19:54:54 -07:00
llvm@90a3141620 Update LLVM 2014-08-04 17:43:56 -07:00
rt Rebasing changes 2014-08-26 16:07:32 +12:00
rustllvm Fix builds with LLVM < 3.6 2014-08-15 16:36:05 +02:00
test Implement generalized object and type parameter bounds (Fixes #16462) 2014-08-27 21:46:52 -04:00
README.md Update README file for src/ directory 2014-06-03 14:06:54 +02:00
snapshots.txt snapshots: Register new snapshots. 2014-08-18 06:35:42 -07:00

This is a preliminary version of the Rust compiler, libraries and tools.

Source layout:

Path Description
librustc/ The self-hosted compiler
liballoc/ Rust's core allocation library
libcore/ The Rust core library
libdebug/ Debugging utilities
libstd/ The standard library (imported and linked by default)
libgreen/ The M:N runtime library
libnative/ The 1:1 runtime library
libsyntax/ The Rust parser and pretty-printer
libtest/ Rust's test-runner code
------------------- ---------------------------------------------------------
libarena/ The arena (a fast but limited) memory allocator
libbacktrace/ The libbacktrace library
libcollections/ A collection of useful data structures and containers
libflate/ Simple compression library
libfmt_macros/ Macro support for format strings
libfourcc/ Data format identifier library
libgetopts/ Get command-line-options library
libglob/ Unix glob patterns library
libgraphviz/ Generating files for Graphviz
libhexfloat/ Hexadecimal floating-point literals
liblibc/ Bindings for the C standard library
liblog/ Utilities for program-wide and customizable logging
libnum/ Extended number support library (complex, rational, etc)
librand/ Random numbers and distributions
libregex/ Regular expressions
libregex_macros/ The regex! syntax extension
libsemver/ Rust's semantic versioning library
libserialize/ Encode-Decode types library
libsync/ Concurrency mechanisms and primitives
libterm/ ANSI color library for terminals
libtime/ Time operations library
liburl/ URL handling lirary
libuuid/ UUID's handling code
------------------- ---------------------------------------------------------
rt/ The runtime system
rt/rust_*.c - Some of the runtime services
rt/vg - Valgrind headers
rt/msvc - MSVC support
rt/sundown - The Markdown library used by rustdoc
------------------- ---------------------------------------------------------
compiletest/ The test runner
test/ Testsuite
test/codegen - Tests for the LLVM IR infrastructure
test/compile-fail - Tests that should fail to compile
test/debug-info - Tests for the debuginfo tool
test/run-fail - Tests that should compile, run and fail
test/run-make - Tests that depend on a Makefile infrastructure
test/run-pass - Tests that should compile, run and succeed
test/bench - Benchmarks and miscellaneous
test/pretty - Pretty-printer tests
test/auxiliary - Dependencies of tests
------------------- ---------------------------------------------------------
librustdoc/ The Rust API documentation tool
libuv/ The libuv submodule
librustuv/ Rust libuv support code
------------------- ---------------------------------------------------------
llvm/ The LLVM submodule
rustllvm/ LLVM support code
------------------- ---------------------------------------------------------
etc/ Scripts, editors support, misc

NOTE: This list (especially the second part of the table which contains modules and libraries) is highly volatile and subject to change.