rust/src
bors 45c3ca72bc auto merge of #8855 : michaelwoerister/rust/captured_vars, r=jdm
This pull request includes
* support for variables captured in closures*,
* a fix for issue #8512: arguments of non-immediate type (structs, tuples, etc) passed by value can now be accessed correctly in GDB. (I managed to fix this by using `llvm::DIBuilder::createComplexVariable()`. ~~However, I am not sure if this relies on unstable implementation details of LLVM's debug info handling. I'll try to clarify this on the LLVM mailing list~~).
* simplification of the `debuginfo` module's public interface: the caller of functions like `create_local_var_metadata()` doesn't have to know and catch all cases when it mustn't call the function,
* a cleanup refactoring with unified handling for locals, [self] arguments, captured variables, and match bindings,
* and proper span information for self arguments.

\* However, see comment at 1d916ace13/src/test/debug-info/var-captured-in-nested-closure.rs (L62) . This is the same problem as with the fix for issue #8512 above: We are probably using `llvm.dbg.declare` in an unsupported way that works today but might not work after the next LLVM update.

Cheers,
Michael

Fixes #8512
Fixes #1341
2013-09-04 11:55:52 -07:00
..
compiletest auto merge of #8950 : sanxiyn/rust/cross-xfail, r=brson 2013-09-03 23:15:56 -07:00
driver
etc stop treating char as an integer type 2013-09-04 08:07:56 -04:00
libextra auto merge of #8966 : FlaPer87/rust/issue/7473, r=bblum 2013-09-04 08:50:57 -07:00
librust
librustc debuginfo: Fixed some merge fallout 2013-09-04 19:31:13 +02:00
librustdoc Renamed syntax::ast::ident -> Ident 2013-09-02 02:51:21 +02:00
librusti Modernized a few more types in syntax::ast 2013-09-03 14:45:06 +02:00
librustpkg Fixes #8881. condition! imports parent's pub identifiers 2013-09-03 16:11:00 -07:00
libstd auto merge of #8901 : adridu59/rust/issue-8511, r=huonw 2013-09-04 10:00:56 -07:00
libsyntax debuginfo: Fixed some merge fallout 2013-09-04 19:31:13 +02:00
libuv@dfae9c3e95
llvm@08a3bd96ee
rt add type name to the tydesc 2013-09-03 04:44:47 -04:00
rustllvm debuginfo: Added test cases for structs, tuples, enums, etc passed by value. 2013-09-04 18:38:46 +02:00
test auto merge of #8855 : michaelwoerister/rust/captured_vars, r=jdm 2013-09-04 11:55:52 -07:00
README.txt
snapshots.txt

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