rust/src
Kevin Ballard 972f2e5855 io: Add .read_at_least() to Reader
Reader.read_at_least() ensures that at least a given number of bytes
have been read. The most common use-case for this is ensuring at least 1
byte has been read. If the reader returns 0 enough times in a row, a new
error kind NoProgress will be returned instead of looping infinitely.

This change is necessary in order to properly support Readers that
repeatedly return 0, either because they're broken, or because they're
attempting to do a non-blocking read on some resource that never becomes
available.

Also add .push() and .push_at_least() methods. push() is like read() but
the results are appended to the passed Vec.

Remove Reader.fill() and Reader.push_exact() as they end up being thin
wrappers around read_at_least() and push_at_least().

[breaking-change]
2014-05-13 18:45:20 -07:00
..
compiler-rt@ed112ca1e4
compiletest Easier interface for TCP ::connect and ::bind. 2014-05-12 21:41:48 -07:00
doc Remove reference to MutexArc 2014-05-12 19:52:29 -07:00
driver
etc emacs: highlight macro_name! in macro invocations using [] delimiters 2014-05-12 19:52:29 -07:00
gyp@1e46da1000
jemalloc@6a96910f2e add back jemalloc to the tree 2014-05-10 19:58:17 -04:00
libarena Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libbacktrace
libcollections Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libcore Improved example code in Option 2014-05-12 19:52:29 -07:00
libflate Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libfmt_macros Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libfourcc Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libgetopts Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libglob Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libgraphviz Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libgreen Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libhexfloat Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
liblibc Use Get/FreeEnvironmentStringsW instead of Get/FreeEnvironmentStringsA 2014-05-13 17:19:01 -04:00
liblog Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libnative Test Unicode support of process spawning 2014-05-13 17:19:01 -04:00
libnum auto merge of #14167 : cmr/rust/cmplx, r=alexcrichton 2014-05-13 04:06:50 -07:00
librand io: Add .read_at_least() to Reader 2014-05-13 18:45:20 -07:00
libregex Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libregex_macros Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
librustc auto merge of #14158 : nikomatsakis/rust/issue-5527-refactor-foldable, r=pcwalton 2014-05-13 08:57:33 -07:00
librustdoc rustdoc: List macros in the sidebar 2014-05-12 19:52:29 -07:00
librustuv Add stat method to std::io::fs::File to stat without a Path. 2014-05-12 19:52:29 -07:00
libsemver Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libserialize Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libstd io: Add .read_at_least() to Reader 2014-05-13 18:45:20 -07:00
libsync Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libsyntax Cleanup some ugly variable names, now that we have let-hygiene. 2014-05-12 19:52:29 -07:00
libterm Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libtest Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libtime Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
liburl Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libuuid Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
libuv@43495892de
libworkcache Add the patch number to version strings. Closes #13289 2014-05-12 19:52:29 -07:00
llvm@4b4d0533b4
rt make sure jemalloc valgrind support is enabled 2014-05-11 20:05:22 -04:00
rustllvm
test Test Unicode support of process spawning 2014-05-13 17:19:01 -04:00
README.md
snapshots.txt register snapshots 2014-05-12 02:52:32 -04:00

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

Source layout:

Path Description
librustc/ The self-hosted compiler
libstd/ The standard library (imported and linked by default)
libextra/ The "extras" library (slightly more peripheral code)
libgreen/ The M:N runtime library
libnative/ The 1:1 runtime library
libsyntax/ The Rust parser and pretty-printer
libcollections/ A collection of useful data structures and containers
libnum/ Extended number support library (complex, rational, etc)
libtest/ Rust's test-runner code
------------------- ---------------------------------------------------------
libarena/ The arena (a fast but limited) memory allocator
libflate/ Simple compression library
libfourcc/ Data format identifier library
libgetopts/ Get command-line-options library
libglob/ Unix glob patterns library
libregex/ Regular expressions
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
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.