| Age | Commit message (Collapse) | Author | Lines | |
|---|---|---|---|---|
| 2011-06-23 | Fix type inference inside of anonymous functions. | Michael Sullivan | -2/+11 | |
| 2011-06-23 | Remove parse_str_lit_or_env_ident. | Rafael Ávila de Espíndola | -29/+13 | |
| We decided to use metadata for the more complex cases, and a simple string is enough for rustc right now. | ||||
| 2011-06-23 | Flesh out type pp code. | Graydon Hoare | -4/+19 | |
| 2011-06-23 | rustc: Load immediate types when iterating over interior vectors | Patrick Walton | -2/+30 | |
| 2011-06-23 | Correct error message for argument mode mismatch | Tim Chevalier | -9/+26 | |
| If you use a function expecting an alias argument in a context that expects a function expecting a value argument, or vice versa, the previous error message complained that the number of arguments was wrong. Fixed the error message to be accurate. | ||||
| 2011-06-22 | Compute typestate properly for move | Tim Chevalier | -219/+619 | |
| typestate now drops constraints correctly in the post-state of a move expression or a declaration whose op is a move. It doesn't yet drop constraints mentioning variables that get updated. To do this, I had to change typestate to use trit-vectors instead of bit-vectors, because for every constraint, there are three possible values: known-to-be-false (e.g. after x <- y, init(y) is known-to-be-false), known-to-be-true, and unknown. Before, we conflated known-to-be-false with unknown. But move requires them to be treated differently. Consider: (program a) (a1) x = 1; (a2) y <- x; (a3) log x; (program b) (b1) x = 1; (b2) y <- z; (b3) log x; With only two values, the postcondition of statement a2 for constraint init(x) is the same as that of b2: 0. But in (a2)'s postcondition, init(x) *must* be false, but in (b2)'s condition, it's just whatever it was in the postcondition of the preceding statement. | ||||
| 2011-06-22 | rustc: Convert field access on invalid types from an ICE to a fatal error | Brian Anderson | -5/+4 | |
| Closes #367 | ||||
| 2011-06-22 | Some work on supporting forwarding slots in vtables (issue #539). | Lindsey Kuper | -42/+70 | |
| 2011-06-22 | rustc: Use the rhs span when unifying binops | Brian Anderson | -1/+1 | |
| This makes the error message correctly identify the term that wasn't the expected type. Issue #516. | ||||
| 2011-06-22 | rustc: Remove some unneeded type annotations | Brian Anderson | -9/+9 | |
| 2011-06-22 | rustc: Don't commit unification changes until unify succeeds | Brian Anderson | -8/+16 | |
| This is so that subsequent reports about type mismatches get the types correct. Issue #516 | ||||
| 2011-06-22 | rustc: Limit creader exports | Brian Anderson | -0/+7 | |
| 2011-06-22 | rustc: Downcase metadata::Encode | Brian Anderson | -4/+4 | |
| 2011-06-22 | rustc: Handle valueless ret expressions as block results. Closes #521 | Brian Anderson | -0/+2 | |
| 2011-06-22 | Fix bug: globbed imports were importing everything visible from the other | Paul Stansifer | -6/+19 | |
| module, not just everything exported. | ||||
| 2011-06-22 | rustc: Introduce and parse additional meta_item forms | Brian Anderson | -37/+136 | |
| Examples: #[test], #[link(name = "vers")] Issue #487 | ||||
| 2011-06-22 | Use fast regalloc and codegen at OptLevel=0. | Rafael Ávila de Espíndola | -4/+31 | |
| 2011-06-22 | rustc: Rename parser.err to parser.fatal | Brian Anderson | -29/+29 | |
| 2011-06-23 | Remove a simidgeon of dead code. | Paul Stansifer | -8/+1 | |
| 2011-06-22 | Pull environment loading out into a function. | Michael Sullivan | -36/+50 | |
| 2011-06-22 | Pull building the environment for for_each into a seperate function. | Michael Sullivan | -47/+61 | |
| 2011-06-22 | Removing out-of-date comment. | Michael Sullivan | -1/+1 | |
| 2011-06-21 | Emit a better error message for unbound type parameters in nested functions | Tim Chevalier | -7/+12 | |
| 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 | Serialize constraints in types (literal arguments still not supported) | Tim Chevalier | -105/+101 | |
| This involved, in part, changing the ast::def type so that a def_fn has a "purity" field. This lets the typechecker determine whether functions defined in other crates are pure. It also required updating some error messages in tests. As a test for cross-crate constrained functions, I added a safe_slice function to std::str (slice(), with one of the asserts replaced with a function precondition) and some test cases (various versions of fn-constraint.rs) that call it. Also, I changed "fn" to "pred" for some of the boolean functions in std::uint. | ||||
| 2011-06-21 | Move names and ids of native items into their recs, rather than their tags | Marijn Haverbeke | -74/+56 | |
| 2011-06-21 | Puts out burning tinderbox (oops, AST nodes don't have def_ids/anns). | Lindsey Kuper | -5/+4 | |
| 2011-06-21 | Some progress on support for extending objects with new fields (issue | Lindsey Kuper | -54/+214 | |
| into four separate issues (#538, #539, #540, #543) with corresponding tests. | ||||
| 2011-06-21 | Move expr ids into the expr record type | Marijn Haverbeke | -938/+814 | |
| This simplifies the tag variants a bit and makes expr_node_id obsolete. | ||||
| 2011-06-21 | rustc: Output an unimplemented message when alias encounters an unknown ↵ | Patrick Walton | -0/+4 | |
| sequence type | ||||
| 2011-06-21 | rustc: Implement "for" over interior vectors | Patrick Walton | -15/+41 | |
| 2011-06-21 | rustc: Remove unused slice call from extfmt. Closes #532 | Brian Anderson | -2/+0 | |
| 2011-06-20 | Remove the old library names. These were unused since rustboot. | Rafael Ávila de Espíndola | -21/+2 | |
| Right now rustc hardcodes -lrustllvm. The idea is to instead remember all the native modules used and convert them to -l directives to the linker. In the case of a library that is installed in an unusual location, Graydon suggested using metadata: native module foo = "bar" { } | ||||
| 2011-06-20 | Merge remote branch 'upstream/master' | Rafael Ávila de Espíndola | -1599/+1621 | |
| 2011-06-20 | Fix line length. | Rafael Ávila de Espíndola | -2/+2 | |
| 2011-06-20 | Fix some uses of span_warn in alias.rs that should be span_fatal | Marijn Haverbeke | -2/+2 | |
| 2011-06-20 | Make trans use the new ast_map instead of building its own | Marijn Haverbeke | -28/+24 | |
| 2011-06-20 | Use ast_map in typeck, instead of building another index | Marijn Haverbeke | -49/+12 | |
| 2011-06-20 | Add a separate AST mapping phase | Marijn Haverbeke | -22/+16 | |
| This will replace the various node_id-to-node mappings done in several other passes. This commit already uses the new map in resolve, dropping the ast_map that was built there before. | ||||
| 2011-06-20 | Reduce confusing variable naming in resolve | Marijn Haverbeke | -51/+55 | |
| 'id' is now used for node_ids, 'name' for idents | ||||
| 2011-06-20 | Get rid of def_ids and anns in AST nodes, use single node_id | Marijn Haverbeke | -1474/+1539 | |
| This reduces some redundancy in the AST data structures and cruft in the code that works with them. To get a def_id from a node_id, apply ast::local_def, which adds the local crate_num to the given node_id. Most code only deals with crate-local node_ids, and won't have to create def_ids at all. | ||||
| 2011-06-20 | Remember the library files we used in rustc and pass them to the "linker". | Rafael Ávila de Espíndola | -3/+21 | |
| This avoid the hardcoded -lstd, allows programs to use other crates and avoids any differences that may exist in the rustc and ld search logic. | ||||
| 2011-06-20 | Added string duplication to deep_copy. Closes #520. | Eric Holk | -22/+18 | |
| 2011-06-20 | Tighten up the hardbreak rules a bit. | Graydon Hoare | -5/+7 | |
| 2011-06-20 | Suppress hardbreaks when following hardbreaks. | Graydon Hoare | -6/+7 | |
| 2011-06-20 | Fix interference between if-check and if printing. | Graydon Hoare | -4/+6 | |
| 2011-06-20 | Removed duplicated ret_ty_of_fn. This also means the native function branch ↵ | Eric Holk | -21/+12 | |
| is working now, so this commit closes #506. | ||||
| 2011-06-20 | Teach ret_ty_of_fn_ty to understand native functions. Closes #506. | Eric Holk | -0/+1 | |
| 2011-06-20 | Remove flags that are not used during linking. | Rafael Ávila de Espíndola | -5/+4 | |
| 2011-06-20 | Fix pp blank-lines insertion at beginning of file and before 'let' decls. | Graydon Hoare | -9/+13 | |
| 2011-06-19 | Remove various rustboot workarounds | Brian Anderson | -22/+11 | |
