rust/src
Tim Chevalier 1a6d029b07 Emit a better error message for unbound type parameters in nested functions
This code was causing a bounds check failure:

fn hd[U](&vec[U] v) -> U {
  fn hd1(&vec[U] w) -> U {
    ret w.(0);
  }
  ret hd1(v);
}

because in hd1, U was being treated as if it referred to a type
parameter of hd1, rather than referring to the lexically enclosing binding
for U that's part of hd.

I'm actually not sure whether this is a legit program or not. But I wanted
to get rid of the bounds check error, so I assumed that program shouldn't
compile and made it a proper error message.
2011-06-21 17:58:49 -07:00
..
comp Emit a better error message for unbound type parameters in nested functions 2011-06-21 17:58:49 -07:00
etc Register new snapshots. Update location of stage0's libstd 2011-06-17 18:19:37 -07:00
fuzzer fuzzer: Begin writing main 2011-05-20 22:32:41 -04:00
lib Serialize constraints in types (literal arguments still not supported) 2011-06-21 14:37:33 -07:00
rt Added string duplication to deep_copy. Closes #520. 2011-06-20 13:47:02 -07:00
rustllvm Update rust to build with newer llvm versions. 2011-06-08 14:08:24 -04:00
test Emit a better error message for unbound type parameters in nested functions 2011-06-21 17:58:49 -07:00
README Remove rustboot from the repository. 2011-05-13 18:38:28 -07:00
run.py Make run.py only search in the run-pass directory. 2010-09-07 18:41:07 -07:00
snapshots.txt Register new snapshots. Update location of stage0's libstd 2011-06-17 18:19:37 -07:00

This is preliminary version of the Rust compiler(s).

Source layout:

comp/              The self-hosted compiler

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,util}     - Small utility classes for the runtime.

test/              Testsuite (for both bootstrap and self-hosted)
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.