rust/src
Tim Chevalier 48c763c098 Use the correct prestate for calls
The prestate for calls was getting set incorrectly to the poststate for the operator
in the call. This worked before since most of the time, operator expressions are
pure. Issue 1895 shows how this breaks when the operator is a closure that has a
move-in capture clause.

(I had a several-day, multi-file patch for this that didn't work... and then it
turned out to be a one-line fix. The joys of programming.)

Closes #1895
2012-03-01 09:16:26 -08:00
..
cargo std: rewrite json.rs to fix bugs and use readers/writers 2012-02-28 18:00:50 -08:00
comp Use the correct prestate for calls 2012-03-01 09:16:26 -08:00
compiletest add ability to run multi-crate tests, run tests with --inline 2012-02-28 06:31:29 -08:00
etc etc: Remove rustdoc script 2012-02-29 23:45:51 -08:00
fuzzer Start next_id at 1 to make the compiler happy 2012-02-24 20:25:54 -08:00
libcore core: Change a number of arguments in vec to const vecs 2012-02-29 18:13:29 -08:00
libstd std: DeCamelCase fs::splitDirnameBasename 2012-02-29 23:45:51 -08:00
libuv@1170ffba3a Update libuv. 2012-02-02 17:39:47 -08:00
llvm@d578b905de Revert accidental change to LLVM submodule. 2012-01-19 21:39:49 -08:00
rt add the ability to snag the frame so we can verify that we are inlining 2012-02-29 11:54:47 -08:00
rustdoc rustdoc: Extract markdown_writer from markdown_pass 2012-02-29 23:45:51 -08:00
rustllvm llvm: Switch back to LLVM trunk 2012-01-13 11:05:59 -08:00
serializer Encode/decode AST into metadata, re-instantiate inlined items 2012-02-24 20:46:27 -08:00
test Use the correct prestate for calls 2012-03-01 09:16:26 -08:00
README.txt Rename some readmes and fix some dist logic. 2012-01-17 16:50:13 -08:00
snapshots.txt Register new snapshots. 2012-02-24 18:43:22 -08:00

This is preliminary version of the Rust compiler.

Source layout:

comp/              The self-hosted compiler

cargo/             The package manager

libcore/           The core library (imported and linked by default)
libstd/            The standard library (slightly more peripheral code)

rustllvm/          LLVM support code

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/libuv           - The library used for async IO in the runtime
rt/{sync,util}     - Small utility classes for the runtime.

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

Please be gentle, it's a work in progress.