aboutsummaryrefslogtreecommitdiff
path: root/src/comp/middle
Commit message (Collapse)AuthorAgeFilesLines
...
* Note issue in comments.Graydon Hoare2011-01-271-3/+2
|
* Teach typeck to handle obj item names when used as type names, not just ↵Graydon Hoare2011-01-261-18/+47
| | | | constructor calls.
* Print an error if we try to refer to a module in an expr_path.Rafael Ávila de Espíndola2011-01-251-1/+11
|
* Small first step in expr_path. Call find_final_def just to detectRafael Ávila de Espíndola2011-01-251-24/+38
| | | | | unresolved names. find_final_def is going to be extended to return the final expr.
* Implement autoderef in rustc. Un-XFAIL autoderef-full-lval.rs.Graydon Hoare2011-01-242-24/+129
|
* Switch from booleans to symbolic tags in a few places.Graydon Hoare2011-01-241-23/+36
|
* Remove unimplemented erorr and enable test.Rafael Ávila de Espíndola2011-01-241-5/+0
|
* Implement a bit of type parameter matching to get a simple case working.Rafael Ávila de Espíndola2011-01-242-5/+31
|
* Teach AST, parser, folder about iter items.Graydon Hoare2011-01-212-7/+10
|
* First cut at translating const items. Support the literal forms at least. ↵Graydon Hoare2011-01-211-26/+74
| | | | Un-XFAIL const.rs.
* Merge remote branch 'espindola/params'Graydon Hoare2011-01-211-10/+40
|\
| * Change the return type of the getter method so that we can get to the typeRafael Ávila de Espíndola2011-01-211-10/+40
| | | | | | | | params.
* | Fix bug in trans_for, un-XFAIL linear-for-loop.rs.Graydon Hoare2011-01-211-1/+1
| |
* | First cut of trans_for.Graydon Hoare2011-01-211-0/+38
| |
* | Tweak effect-checking rules in rustboot, remove/rewrite/re-auth impure cases ↵Graydon Hoare2011-01-211-149/+164
| | | | | | | | in trans.rs
* | M-x indent-region on trans.rs.Graydon Hoare2011-01-211-27/+35
|/
* Teach ty and typeck about linear for loops.Graydon Hoare2011-01-202-30/+56
|
* Fix typo in fold.Graydon Hoare2011-01-201-1/+1
|
* Teach resolve about linear for loops.Graydon Hoare2011-01-201-2/+26
|
* Adjust AST encoding, teach fold about linear for loops.Graydon Hoare2011-01-201-0/+18
|
* Implement dynamic GEP enough to permit expr_field to work on tup(T,T,T).Graydon Hoare2011-01-192-2/+127
|
* Look at the type params of an item_ty when resolving.Rafael Ávila de Espíndola2011-01-191-1/+8
|
* Fold function output and argument types. With this change we fail to compileRafael Ávila de Espíndola2011-01-191-3/+15
| | | | | | | type lteq[T] = fn(&T a) -> bool; with "unresolved name: T". Before we would silently get to the type checker and assert in a unresolved ty_path.
* Twiddle comment.Graydon Hoare2011-01-181-1/+1
|
* Fix bug (I think) when unifying ty_local and ty_param.Graydon Hoare2011-01-181-1/+13
|
* One last refactoring of the import handling:Rafael Ávila de Espíndola2011-01-182-85/+117
| | | | | | | | | | | | | * Create an import resolving stage. Currently this involves a copy of the ast, we can probably revisit this once we revisit doing full copies of the ast in general. * Don't repeat work. Once we resolve a import, put it on a hash table and use it next time we are asked for it. This solves a O(n^2) behaviour in degenerated cases. * Once import resolution is done, the target of an import is stored on the import itself.
* Add bzero glue and preliminary code for dynamic size/align calculations.Graydon Hoare2011-01-181-15/+170
|
* Fix missing case in ty.Graydon Hoare2011-01-171-0/+5
|
* Use homebrew memcpy, not llvm intrinsic. Can't run the latter on a rust stack.Graydon Hoare2011-01-171-32/+58
|
* Fix a couple bugs in parametric returns.Graydon Hoare2011-01-171-11/+11
|
* Allocate and reload retslots. Copy into them on polymorphic returns.Graydon Hoare2011-01-171-19/+35
|
* Enable more tests.Rafael Ávila de Espíndola2011-01-171-1/+1
|
* Whitespace cleanup.Graydon Hoare2011-01-171-9/+9
|
* Fix the last known (to me) bug in import resolution. We were not properlyRafael Ávila de Espíndola2011-01-171-12/+27
| | | | | dropping the inner part of the environment when an intermediate item resolved in an outer scope.
* Teach copy_ty to finish via memcpy of tydesc-provided size.Graydon Hoare2011-01-171-11/+24
|
* Some misc cleanups:Rafael Ávila de Espíndola2011-01-171-25/+26
| | | | | * Remove unused argument * Move option.t wrapping to outer functions.
* Pass tydescs to parametric fns, along with (dummy, presently) retptr when ↵Graydon Hoare2011-01-141-66/+82
| | | | needed. Can call simple parametric fn now.
* Fix the import handling in "complex" cases. When looking a.b.c and 'a' is aRafael Ávila de Espíndola2011-01-141-5/+22
| | | | | | | module, we should look for 'b' *just* in the module 'a' and then continue resolving b.c in the environment created by updating *with* a. Still not 100% correct, but getting there.
* Expand generic info in lval_result.Graydon Hoare2011-01-141-12/+17
|
* Trim long lines.Graydon Hoare2011-01-141-2/+2
|
* Pass tydescs to parametric fns.Graydon Hoare2011-01-141-6/+33
|
* Make lookup non recursive and instead move the recursion just toRafael Ávila de Espíndola2011-01-141-60/+88
| | | | | find_final_def. Use the fact that the recursion is in a simpler function to detected import loops and exit.
* Change single-ident expr_ident to greedy/fat multi-ident expr_path, to ↵Graydon Hoare2011-01-135-60/+99
| | | | handle the module-path/value-indexing distinction.
* Produce better errors for invalid imports.Rafael Ávila de Espíndola2011-01-121-0/+6
|
* Call find_final_def directly in fold_view_item_import. It is both cleaner andRafael Ávila de Espíndola2011-01-121-1/+1
| | | | faster.
* Change mod_index_entry to point directly to items and view_items.Rafael Ávila de Espíndola2011-01-122-9/+13
|
* Figure out what tydescs we need to pass when translating parametric function ↵Patrick Walton2011-01-122-4/+57
| | | | calls
* Fix another import case we got wrong: The local environment should notRafael Ávila de Espíndola2011-01-111-27/+47
| | | | interfere with the import statements.
* Fix two invalid import cases we were not detecting:Rafael Ávila de Espíndola2011-01-111-12/+29
| | | | | | | * If an import was unused we would never print any errors for it. * We would keep the existing environment in scope when descending 'foo.bar' and would find 'bar' in the global environment if there was no 'bar' in 'foo'.
* Drop closures. Un-XFAIL bind-interior.rs.Graydon Hoare2011-01-071-7/+54
|