rust/src
Alex Crichton 36a4af49e0 Remove __extensions__ in names for a "pretty name"
As with the previous commit, this is targeted at removing the possibility of
collisions between statics. The main use case here is when there's a
type-parametric function with an inner static that's compiled as a library.
Before this commit, any impl would generate a path item of "__extensions__".
This changes this identifier to be a "pretty name", which is either the last
element of the path of the trait implemented or the last element of the type's
path that's being implemented.  That doesn't quite cut it though, so the (trait,
type) pair is hashed and again used to append information to the symbol.

Essentially, __extensions__ was removed for something nicer for debugging, and
then some more information was added to symbol name by including a hash of the
trait being implemented and type it's being implemented for. This should prevent
colliding names for inner statics in regular functions with similar names.
2013-09-02 23:12:41 -07:00
..
compiletest auto merge of #8886 : cmr/rust/test-restructure, r=cmr 2013-08-30 14:00:43 -07:00
driver
etc Align field names in struct expressions with fields on same line as the opening curly brace 2013-08-30 02:04:08 -04:00
libextra auto merge of #8905 : sstewartgallus/rust/cleanup_tests, r=bblum 2013-08-31 12:40:40 -07:00
librust removed os::set_args, closing #8325 2013-08-23 10:26:37 +08:00
librustc Remove __extensions__ in names for a "pretty name" 2013-09-02 23:12:41 -07:00
librustdoc Renamed syntax::ast::ident -> Ident 2013-09-02 02:51:21 +02:00
librusti removed os::set_args, closing #8325 2013-08-23 10:26:37 +08:00
librustpkg Renamed syntax::ast::ident -> Ident 2013-09-02 02:51:21 +02:00
libstd auto merge of #8927 : thestinger/rust/repr, r=huonw 2013-09-02 02:05:45 -07:00
libsyntax Remove __extensions__ in names for a "pretty name" 2013-09-02 23:12:41 -07:00
libuv@dfae9c3e95 Revert "auto merge of #8645 : alexcrichton/rust/issue-6436-run-non-blocking, r=brson" 2013-08-29 14:23:44 -07:00
llvm@08a3bd96ee Enable segmented stacks for llvm on mingw-64 2013-08-28 20:44:46 -07:00
rt Fix incorrect strftime error handling in rust_localtime 2013-09-01 14:57:29 +03:00
rustllvm touch llvm clean trigger 2013-09-01 15:03:28 -04:00
test Remove __extensions__ in names for a "pretty name" 2013-09-02 23:12:41 -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