about summary refs log tree commit diff
path: root/src/comp
AgeCommit message (Collapse)AuthorLines
2011-07-12rustc: Simplify tritv::copy; shaves a couple of seconds off typestate.Patrick Walton-17/+4
2011-07-12Add missing filesTim Chevalier-111/+44
git add didn't, so this actually has the changes that should have been in the previous commit
2011-07-12Fix potential use-before-init bug in transTim Chevalier-5/+9
This was being masked by a bug in typestate (fixed in the next commit).
2011-07-12Update pretty-printing of '...' in record patterns to be ', _' insteadMarijn Haverbeke-1/+4
2011-07-11Fix pretty-printing of literals again. Issue #672Brian Anderson-1/+6
The pos variable is one character beyond where I thought it was.
2011-07-11Make the parser add correct spans to view_itemsTim Chevalier-30/+19
Closes #650.
2011-07-11Pass command-line args to the test runner. Issue #428Brian Anderson-5/+28
This will let the test runner filter the tests it runs.
2011-07-11So... I can't spell 'ellipsis'.Paul Stansifer-8/+8
2011-07-11Change "etc" syntax for record patterns from `{a:b ...}` to `{a:b, _}`.Paul Stansifer-5/+6
2011-07-11Add elipses, reorganize the macro components into their own AST node.Paul Stansifer-103/+206
2011-07-11Move macro expansion to a separate phase, change macro syntax, and add ↵Paul Stansifer-168/+330
parse_sess to session.
2011-07-11Add nodes for embedding types and blocks in expressions for macros.Paul Stansifer-45/+58
2011-07-11Only print up to six lines on error. Print ^~~~~ to highlight error span.Josh Matthews-1/+50
2011-07-11Hack to print lines when error spans are available.Josh Matthews-2/+55
2011-07-11Visit the type argument in a port expressionTim Chevalier-1/+8
This closes #664.
2011-07-11Add parser::parse_crate_from_source_strBrian Anderson-0/+18
The fuzzer wants to be able to do stuff like this
2011-07-11In typeck, check for dynamically sized by-value arguments to thunksTim Chevalier-11/+49
A check in trans didn't have a corresponding check in typeck, causing some programs (to wit, compile-fail/chan-parameterized-args.rs - part of this commit) to fail with an assertion failure in trans instead of a type error. Fixed it. In short, arguments that are future thunk arguments (any spawn arguments, and _ arguments in bind) need to either not contain type params or type vars, or be by-reference. Closes #665.
2011-07-11Pull lexer creation out of new_parserBrian Anderson-15/+20
This will allow custom lexers to be injected into the parser (for fuzzing)
2011-07-11Pull file reading out of the lexerBrian Anderson-10/+11
2011-07-11rustc: Implement explicit global scope resolution via leading "::"; add a ↵Patrick Walton-31/+56
test case
2011-07-11Unify the rhs and lhs types in a sendTim Chevalier-0/+1
Closes #662. One-line fixes are always the best :-D
2011-07-11rustc: Implement pointer dereference; add a test casePatrick Walton-2/+5
2011-07-11Fix comparisons of the nil type to do something sensible.Michael Sullivan-21/+19
Closes #576.
2011-07-11The lexer's get_mark_str should slice by byte position, not char. Closes #654Brian Anderson-3/+4
2011-07-11Use some actual or-patterns in resolve.rsMarijn Haverbeke-70/+34
2011-07-11Fix pretty-printing of record patternsMarijn Haverbeke-3/+3
2011-07-11Fix autoderef of function calls when the function is not an lval.Michael Sullivan-18/+4
As it turns out, the correct way to handle this is much simpler than what I did originally. Also add more tests.
2011-07-11Fix handling of derived tydescs in bind.Michael Sullivan-4/+10
In trans_bind_thunk, we need to load the tydescs from the environment *before* we try to construct derived tydescs from them.
2011-07-11Fix bind to work with boxed arguments with type parameters.Michael Sullivan-2/+6
This still doesn't work with bare fn arguments with type parameters.
2011-07-11Implement record patternsMarijn Haverbeke-2/+164
Closes #469.
2011-07-11Move visit to newtype-style nominal typeMarijn Haverbeke-129/+126
This makes getting the function fields out of the visitor less cumbersome and more efficient (no take/drop).
2011-07-11Output a meaningful error when too few or too many type parameters givenMarijn Haverbeke-3/+11
Closes #619
2011-07-11Implement or-patterns in case clausesMarijn Haverbeke-40/+129
You can now say expr_move(?dst, ?src) | expr_assign(?dst, ?src) { ... } to match both expr_move and expr_assign. The names, types, and number of bound names have to match in all the patterns. Closes #449.
2011-07-11Spill instead of copy when binding a pattern that's only a var bindingMarijn Haverbeke-17/+11
The alias rules guarantee that the alt-ed value will outlive the binding's last use, so this is safe. This is a preparation for or-patterns. Joining scoped bindings seems like it would get messy.
2011-07-10Add a missing case so nbody.rs can ppJesse Ruderman-0/+1
2011-07-10Export noop_fold_expr so the fuzzer can use itJesse Ruderman-0/+1
2011-07-10Make #fmt work from inside std. Issue #175Brian Anderson-10/+25
At long last, this patch makes #fmt usable from inside the standard library. The way it does it us very hackish, but at least it works now.
2011-07-10Use more encapsulation for metadata::cstoreBrian Anderson-25/+69
2011-07-09rustc: Make rust-intrinsics take an explicit return pointerPatrick Walton-23/+48
2011-07-09Generate code to load a crate's tests into the std test runner. Issue #428Brian Anderson-37/+218
2011-07-09Collect functions that look like unit tests. Issue #428Brian Anderson-3/+31
2011-07-09Track the path as we fold over the AST looking for unit tests. Issue #428Brian Anderson-4/+21
2011-07-08Propagate constraints through copy, move, and swapTim Chevalier-133/+442
Assignments and moves with a simple local variable reference on the RHS now propagate any typestate constraints the RHS was involved in to the LHS. Swaps where both sides are local variables exchange the constraints. This was a pain in the butt and I'm still not proud of the resulting code. Needs refactoring like whoa.
2011-07-08Minor refactoringTim Chevalier-3/+11
2011-07-08Alias-ify some prettyprinting functionsTim Chevalier-3/+4
2011-07-08Improve impossible-case handling in ty::get_element_typeTim Chevalier-4/+5
2011-07-08Improve the error message for import glob collisions. Closes #482Brian Anderson-17/+31
Instead of noting where the imported things were defined, note where they were imported. This is more useful and avoids issue #482.
2011-07-08rustc: Use interior vectors for the union-find in rustcPatrick Walton-21/+24
2011-07-08rustc: Fix a level-of-indirection problem by using size_of() to compute ↵Patrick Walton-4/+2
dynamically sized interior vector element sizes instead of field_of_tydesc()
2011-07-08Decode types across multiple crates. Closes #632Brian Anderson-27/+71