rust/src
Marvin Löbel 76c3e8a38c Add an SendStr type
A SendStr is a string that can hold either a ~str or a &'static str.
This can be useful as an optimization when an allocation is sometimes needed but the common case is statically known.

Possible use cases include Maps with both static and owned keys, or propagating error messages across task boundaries.

SendStr implements most basic traits in a way that hides the fact that it is an enum; in particular things like order and equality are only determined by the content of the wrapped strings.

Replaced std::rt:logging::SendableString with SendStr
Added tests for using an SendStr as key in Hash- and Treemaps
2013-09-16 16:57:50 +02:00
..
compiletest std: rename Option::unwrap_or_default() to unwrap_or() 2013-09-12 18:54:11 -07:00
driver Bring compiletest/rustpkg/driver up to date on std vs core 2013-07-04 16:30:48 -07:00
etc Minor cleanup and formatting tweaks to the rust-mode README 2013-09-13 20:46:41 -04:00
gyp@f407f09c94 Upgrade libuv to the current master (again) 2013-09-06 11:12:49 -07:00
libextra Remove {uint,int,u64,i64,...}::from_str,from_str_radix 2013-09-15 14:29:16 +02:00
librust rust test: pass the remaining arguments through 2013-09-15 15:42:40 -05:00
librustc auto merge of #9206 : alexcrichton/rust/issue-9188, r=catamorphism 2013-09-16 02:45:49 -07:00
librustdoc std: Rename {Option,Result}::chain{,_err}* to {and_then,or_else} 2013-09-12 18:54:13 -07:00
librusti extra: use a mutex to wrap linenoise calls and make them threadsafe. 2013-09-11 22:20:33 +10:00
librustpkg rustpkg: Cleanup 2013-09-15 09:55:11 -07:00
libstd Add an SendStr type 2013-09-16 16:57:50 +02:00
libsyntax auto merge of #9187 : lkuper/rust/no-simplevisitor, r=catamorphism 2013-09-16 00:15:52 -07:00
libuv@d88cf5652a Upgrade libuv to the current master (again) 2013-09-06 11:12:49 -07:00
llvm@c9ffab392a Upgrade LLVM to close #9117 2013-09-15 20:26:40 -07:00
rt Remove all usage of change_dir_locked 2013-09-13 21:58:00 -07:00
rustdoc_ng rustdoc_ng: add licenses and issue numbers to appease tidy 2013-09-16 07:28:44 -04:00
rustllvm auto merge of #9118 : alexcrichton/rust/llvm-fix, r=sanxiyn 2013-09-15 22:30:55 -07:00
test Add an SendStr type 2013-09-16 16:57:50 +02:00
README.txt Update doc references to new names for std, extra, and std::libc 2013-06-16 23:26:08 -07:00
snapshots.txt register new snapshots 2013-08-14 18:45:51 -07:00

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

Source layout:

librustc/          The self-hosted compiler

libstd/            The standard library (imported and linked by default)
libextra/          The "extras" library (slightly more peripheral code)
libsyntax/         The Rust parser and pretty-printer

rt/                The runtime system
rt/rust_*.cpp      - The majority of the runtime services
rt/isaac           - The PRNG used for pseudo-random choices in the runtime
rt/bigint          - The bigint library used for the 'big' type
rt/uthash          - Small hashtable-and-list library for C, used in runtime
rt/sync            - Concurrency utils
rt/util            - Small utility classes for the runtime.
rt/vg              - Valgrind headers
rt/msvc            - MSVC support
rt/linenoise       - a readline-like line editing library

test/              Testsuite
test/compile-fail  - Tests that should fail to compile
test/run-fail      - Tests that should compile, run and fail
test/run-pass      - Tests that should compile, run and succeed
test/bench         - Benchmarks and miscellanea
test/pretty        - Pretty-printer tests
test/auxiliary     - Dependencies of tests

compiletest/       The test runner

librustpkg/        The package manager and build system

librusti/          The JIT REPL

librustdoc/        The Rust API documentation tool

llvm/              The LLVM submodule

libuv/             The libuv submodule

rustllvm/          LLVM support code

libfuzzer/         A collection of fuzz testers

etc/               Scripts, editor support, misc