rust/src
Patrick Walton d1dcd19d26 librustc: Make references to functions not have static lifetime.
This breaks code like:

    struct A<'a> {
        func: &'a fn() -> Option<int>
    }

    fn foo() -> Option<int> { ... }

    fn create() -> A<'static> {
        A {
            func: &foo
        }
    }

Change this code to not take functions by reference. For example:

    struct A {
        func: extern "Rust" fn() -> Option<int>
    }

    fn foo() -> Option<int> { ... }

    fn create() -> A {
        A {
            func: foo
        }
    }

Closes #13595.

[breaking-change]
2014-07-24 15:29:26 -07:00
..
compiler-rt@62a4ca6055
compiletest collections: Deprecate shift/unshift 2014-07-23 13:20:16 -07:00
doc libsyntax: Remove ~self and mut ~self from the language. 2014-07-24 07:26:03 -07:00
driver
etc auto merge of #15424 : TeXitoi/rust/relicense-shootout-threadring, r=brson 2014-07-24 18:11:03 +00:00
grammar
gyp@1e46da1000
jemalloc@024c67ad65
liballoc collections: Move push/pop to MutableSeq 2014-07-23 13:20:10 -07:00
libarena
libbacktrace
libcollections Document SmallIntMap with examples. 2014-07-24 07:26:33 -07:00
libcore librustc: Make bare functions implement the FnMut trait. 2014-07-24 07:26:22 -07:00
libcoretest Deprecated str::raw::from_c_str 2014-07-24 07:25:43 -07:00
libdebug
libflate
libfmt_macros
libfourcc
libgetopts
libglob
libgraphviz
libgreen libsyntax: Remove ~self and mut ~self from the language. 2014-07-24 07:26:03 -07:00
libhexfloat
liblibc
liblog
libnative Test fixes from the rollup 2014-07-24 08:48:50 -07:00
libnum
librand
libregex collections: Deprecate shift/unshift 2014-07-23 13:20:16 -07:00
libregex_macros
librlibc
librustc librustc: Make references to functions not have static lifetime. 2014-07-24 15:29:26 -07:00
librustc_back
librustc_llvm
librustdoc rustdoc: Add a --crate-name option 2014-07-24 07:26:26 -07:00
librustrt libsyntax: Remove ~self and mut ~self from the language. 2014-07-24 07:26:03 -07:00
librustuv libsyntax: Remove ~self and mut ~self from the language. 2014-07-24 07:26:03 -07:00
libsemver
libserialize Deprecated str::raw::from_utf8_owned 2014-07-24 07:25:43 -07:00
libstd Add string::raw::from_buf 2014-07-24 07:25:43 -07:00
libsync auto merge of #15781 : alexcrichton/rust/issue-15758, r=bblum 2014-07-24 02:16:13 +00:00
libsyntax librustc: Make bare functions implement the FnMut trait. 2014-07-24 07:26:22 -07:00
libterm collections: Deprecate shift/unshift 2014-07-23 13:20:16 -07:00
libtest
libtime
libunicode
liburl
libuuid
libuv@43495892de
llvm@cd24b5c663 Updated LLVM for iOS 2014-07-24 07:25:55 -07:00
rt
rustllvm rustllvm: Don't require null terminators in files 2014-07-24 11:31:28 -07:00
test librustc: Make references to functions not have static lifetime. 2014-07-24 15:29:26 -07: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.