1
Fork 0
rust/src
Niko Matsakis 5d32d03b89 Fix #2979: inference for lifetimes of & expressions
What we now do is to create a region variable for each &
expression (and also each borrow).  The lifetime of this
variable will be checked by borrowck to ensure it is not greater
than the lifetime of the underlying data.  This both leads to
shorter lifetimes in some cases but also longer in others,
such as taking the address to the interior of unique boxes
tht are rooted in region pointers (e.g., returning a pointer
to the interior of a sendable map).

This may lead to issue #2977 if the rvalue is not POD, because
we may drop the data in trans sooner than borrowck expects us
to.  Need to work out precisely where that fix ought to occur.
2012-07-30 14:49:28 -07:00
..
cargo Nomenclature fixes in the lint checker. Fewer double-negatives. 2012-07-26 17:08:33 -07:00
compiletest Nomenclature fixes in the lint checker. Fewer double-negatives. 2012-07-26 17:08:33 -07:00
etc Make tidy skip emacs backup files 2012-07-29 18:39:14 -07:00
fuzzer Nomenclature fixes in the lint checker. Fewer double-negatives. 2012-07-26 17:08:33 -07:00
libcore Make at_vec push functions more like the current vec ones. 2012-07-30 11:29:24 -07:00
libstd Move send_map to libcore 2012-07-30 13:56:14 -04:00
libsyntax Rewrite bitv to use classes and optimize its representation 2012-07-29 18:39:15 -07:00
libuv@1170ffba3a rustc: Don't generate landing pad cleanups for boxy things 2012-03-29 16:43:18 -07:00
llvm@5e5c846569 Register snapshots. 2012-07-26 15:31:21 -07:00
rt Fix asserts & short-read bug in isaac_seed (#2870) 2012-07-25 18:03:00 -04:00
rustc Fix #2979: inference for lifetimes of & expressions 2012-07-30 14:49:28 -07:00
rustdoc Nomenclature fixes in the lint checker. Fewer double-negatives. 2012-07-26 17:08:33 -07:00
rustllvm Added debug flag to enable LLVM debug output. 2012-07-25 16:00:13 -07:00
test Fix #2979: inference for lifetimes of & expressions 2012-07-30 14:49:28 -07:00
README.txt Update READMEs and comments to reflect "rustsyntax" -> "syntax" change 2012-06-08 17:24:14 -07:00
snapshots.txt Register snapshots. 2012-07-26 15:31:21 -07:00

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

Source layout:

rustc/             The self-hosted compiler

libcore/           The core library (imported and linked by default)
libstd/            The standard 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

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

cargo/             The package manager

rustdoc/           The Rust API documentation tool

llvm/              The LLVM submodule

libuv/             The libuv submodule

rustllvm/          LLVM support code

fuzzer/            A collection of fuzz testers

etc/               Scripts, editor support, misc