rust/src
Marijn Haverbeke 87b064b249 First stab at operator overloading
When no built-in interpretation is found for one of the operators
mentioned below, the typechecker will try to turn it into a method
call with the name written next to it. For binary operators, the
method will be called on the LHS with the RHS as only parameter.

Binary:

    +   op_add
    -   op_sub
    *   op_mul
    /   op_div
    %   op_rem
    &   op_and
    |   op_or
    ^   op_xor
    <<  op_shift_left
    >>  op_shift_right
    >>> op_ashift_right

Unary:

    -   op_neg
    !   op_not

Overloading of the indexing ([]) operator isn't finished yet.

Issue #1520
2012-01-26 14:25:06 +01:00
..
cargo rustc: Split diagnostics into "span diagnostics" and "diagnostics". 2012-01-24 21:42:54 -08:00
comp First stab at operator overloading 2012-01-26 14:25:06 +01:00
compiletest s/block()/fn()/g 2012-01-23 19:06:33 -08:00
etc rustdoc: Add a script for running rustdoc output through markdown/pandoc 2012-01-23 15:16:14 -08:00
fuzzer Keep source file around after parsing. 2012-01-25 16:00:47 -07:00
libcore Reorganizing str.rs to group and document strings better (no functional changes, though FIXMEs added) 2012-01-24 14:08:48 -08:00
libstd s/block()/fn()/g 2012-01-23 19:06:33 -08:00
libuv@f1859eb841 Re-add libuv as a submodule. 2011-11-08 19:01:47 -08:00
llvm@d578b905de Revert accidental change to LLVM submodule. 2012-01-19 21:39:49 -08:00
rt Merge pull request #1627 from graydon/win32-quoting 2012-01-25 14:33:10 -08:00
rustdoc rustdoc: Add some test enums to demo module 2012-01-25 21:04:53 -08:00
rustllvm llvm: Switch back to LLVM trunk 2012-01-13 11:05:59 -08:00
test First stab at operator overloading 2012-01-26 14:25:06 +01:00
README.txt Rename some readmes and fix some dist logic. 2012-01-17 16:50:13 -08:00
snapshots.txt Register snapshots 2012-01-23 21:54:09 -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.