rust/src
Alex Crichton ac7b9ddc54 Audit usage of NativeMutex
Once a native mutex has been used once, it is never allowed to be moved again.
This is because some pthreads implementations take pointers inside the mutex
itself.

This commit adds stern wording around the methods on native mutexes, and fixes
one use case in the codebase. The Mutex type in libsync was susceptible to
movement, so the inner static mutex is now boxed to ensure that the address of
the native mutex is constant.
2014-06-13 13:53:34 -07:00
..
compiler-rt@ed112ca1e4 Upgrade compiler-rt 2014-04-22 15:50:51 -07:00
compiletest std: Move dynamic_lib from std::unstable to std 2014-06-09 17:46:53 -07:00
doc auto merge of #14809 : zzmp/rust/patch-2, r=alexcrichton 2014-06-12 16:02:05 +00:00
driver Snapshot cleanup 2014-03-23 09:45:13 -07:00
etc sync: Move underneath libstd 2014-06-11 10:00:43 -07:00
gyp@1e46da1000
jemalloc@6a96910f2e add back jemalloc to the tree 2014-05-10 19:58:17 -04:00
liballoc rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
libarena Remove & -> &mut transmute from TypedArena 2014-06-10 00:41:44 -03:00
libbacktrace Bundle libbacktrace with the compiler 2014-03-11 21:02:34 -07:00
libcollections Remove typo on collections::treemap::UnionItems 2014-06-13 13:53:34 -07:00
libcore rustc: [T, ..N] and [T, ..N+1] are not the same 2014-06-13 13:53:34 -07:00
libdebug rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
libflate rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
libfmt_macros std: Remove i18n/l10n from format! 2014-06-11 16:04:24 -07:00
libfourcc rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
libgetopts rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
libglob rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
libgraphviz rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
libgreen rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
libhexfloat rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
liblibc Fix more misspelled comments and strings. 2014-06-10 11:24:17 -04:00
liblog rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
libnative auto merge of #14764 : jbcrail/rust/fix-more-comments, r=alexcrichton 2014-06-10 15:17:01 -07:00
libnum rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
librand auto merge of #14696 : jakub-/rust/dead-struct-fields, r=alexcrichton 2014-06-10 09:49:29 -07:00
libregex auto merge of #14831 : alexcrichton/rust/format-intl, r=brson 2014-06-13 14:42:03 +00:00
libregex_macros Convert libraries to use #[plugin_registrar] 2014-06-09 14:29:30 -07:00
librlibc Change static.rust-lang.org to doc.rust-lang.org 2014-05-21 19:55:39 -07:00
librustc rustc: [T, ..N] and [T, ..N+1] are not the same 2014-06-13 13:53:34 -07:00
librustdoc libsyntax: Allow `+` to separate trait bounds from objects. 2014-06-13 13:53:34 -07:00
librustrt Audit usage of NativeMutex 2014-06-13 13:53:34 -07:00
librustuv auto merge of #14764 : jbcrail/rust/fix-more-comments, r=alexcrichton 2014-06-10 15:17:01 -07:00
libsemver rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
libserialize auto merge of #14831 : alexcrichton/rust/format-intl, r=brson 2014-06-13 14:42:03 +00:00
libstd std: Rebase better errors on master 2014-06-13 13:53:34 -07:00
libsync Audit usage of NativeMutex 2014-06-13 13:53:34 -07:00
libsyntax libsyntax: Allow `+` to separate trait bounds from objects. 2014-06-13 13:53:34 -07:00
libterm std: Remove i18n/l10n from format! 2014-06-11 16:04:24 -07:00
libtest auto merge of #14831 : alexcrichton/rust/format-intl, r=brson 2014-06-13 14:42:03 +00:00
libtime rustc: Remove ~[T] from the language 2014-06-11 15:02:17 -07:00
liburl std: Remove i18n/l10n from format! 2014-06-11 16:04:24 -07:00
libuuid Fix more misspelled comments and strings. 2014-06-10 11:24:17 -04:00
libuv@43495892de Update libuv 2014-04-24 09:08:07 -07:00
llvm@0a894645cf Update to LLVM head and mark various ptrs as nonnull. 2014-05-22 21:06:24 -04:00
rt libtime: Remove the `tz_zone` field from times. 2014-05-22 14:42:02 -07:00
rustllvm debuginfo: Fix issue with unique type IDs not being passed to LLVM for LLVM 3.4 2014-06-12 18:48:14 +02:00
test Fix the unused struct field lint for struct variants 2014-06-13 13:53:34 -07:00
README.md Update README file for src/ directory 2014-06-03 14:06:54 +02:00
snapshots.txt std: Drop Total from Total{Eq,Ord} 2014-06-01 10:31:27 -07:00

README.md

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.