rust/src
Ben Gamari 6867d91d20 middle::kind: Don't crash when checking safety of Drop
To verify that a type can satisfy Send
`check_struct_safe_for_destructor` attempts to construct a new `ty::t`
an empty substitution list.

Previously the function would verify that the function has no type
parameters before attempting this. Unfortunately this check would not
catch functions with only regions parameters. In this case, the type
would eventually find its way to the substition engine which would
attempt to perform a substitution on the region parameters. As the
constructed substitution list is empty, this would fail, leading to a
compiler crash.

We fix this by verifying that types have both no type and region
parameters.
2014-07-15 19:34:42 -04:00
..
compiler-rt@62a4ca6055
compiletest Deprecate str::from_chars 2014-07-15 19:55:18 +02:00
doc auto merge of #15421 : catharsis/rust/doc-ffi-minor-fixes, r=alexcrichton 2014-07-15 14:26:11 +00:00
driver
etc
gyp@1e46da1000
jemalloc@024c67ad65
liballoc Stabilization for owned (now boxed) and cell 2014-07-13 12:52:51 -07:00
libarena
libbacktrace
libcollections Fix errors 2014-07-15 20:34:16 +02:00
libcore auto merge of #15632 : masklinn/rust/patch-1, r=alexcrichton 2014-07-14 13:51:29 +00:00
libcoretest
libdebug Deprecate str::from_utf8_owned 2014-07-15 19:55:17 +02:00
libflate
libfmt_macros
libfourcc
libgetopts
libglob glob::MatchOptions struct fields should be public 2014-07-13 22:06:52 -07:00
libgraphviz Extend --pretty flowgraph=ID to include dataflow results in output. 2014-07-15 12:26:56 +02:00
libgreen
libhexfloat
liblibc
liblog
libnative Deprecate str::from_utf16 2014-07-15 19:55:19 +02:00
libnum
librand
libregex Fix errors 2014-07-15 20:34:16 +02:00
libregex_macros
librlibc
librustc middle::kind: Don't crash when checking safety of Drop 2014-07-15 19:34:42 -04:00
librustc_back Fix rebase fallout. Sorry. 2014-07-14 12:27:56 -07:00
librustc_llvm Fix rebase fallout. Sorry. 2014-07-14 12:27:56 -07:00
librustdoc Fix errors 2014-07-15 20:34:16 +02:00
librustrt auto merge of #15591 : aturon/rust/box-cell-stability, r=alexcrichton 2014-07-13 21:01:28 +00:00
librustuv auto merge of #15604 : mrmonday/rust/raw-socket-libc, r=alexcrichton 2014-07-15 17:01:07 +00:00
libsemver
libserialize Deprecate str::from_utf8_owned 2014-07-15 19:55:17 +02:00
libstd Fix errors 2014-07-15 20:34:16 +02:00
libsync auto merge of #15591 : aturon/rust/box-cell-stability, r=alexcrichton 2014-07-13 21:01:28 +00:00
libsyntax libsyntax::ast: Derive Show impls 2014-07-15 18:54:47 -04:00
libterm Fix errors 2014-07-15 20:34:16 +02:00
libtest Fix errors 2014-07-15 20:34:16 +02:00
libtime Fix errors 2014-07-15 20:34:16 +02:00
libunicode
liburl
libuuid Fix errors 2014-07-15 20:34:16 +02:00
libuv@43495892de
llvm@1bba09755d
rt
rustllvm
test Fix errors 2014-07-15 20:34:16 +02:00
README.md
snapshots.txt

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.