Commit Graph

1292 Commits

Author SHA1 Message Date
Rafael Ávila de Espíndola
1b82060c5e Print an error if we try to refer to a module in an expr_path. 2011-01-25 18:16:52 -05:00
Rafael Ávila de Espíndola
9e2324ad1e Small first step in expr_path. Call find_final_def just to detect
unresolved names. find_final_def is going to be extended to return the
final expr.
2011-01-25 17:54:38 -05:00
Graydon Hoare
18947f83cc Un-XFAIL a couple more rustc tests that have started working recently. 2011-01-24 18:03:50 -08:00
Graydon Hoare
a32d206d27 Implement autoderef in rustc. Un-XFAIL autoderef-full-lval.rs. 2011-01-24 18:03:31 -08:00
Graydon Hoare
0e1e3a9e1e Do better at parsing expr_paths with type arguments. 2011-01-24 15:49:39 -08:00
Graydon Hoare
2d7c2acf09 Switch from booleans to symbolic tags in a few places. 2011-01-24 15:26:10 -08:00
Graydon Hoare
65da18faf8 Teach parser to recognize ITER keyword as item-start. 2011-01-24 15:25:30 -08:00
Rafael Ávila de Espíndola
d97137734b Remove unimplemented erorr and enable test. 2011-01-24 15:29:38 -05:00
Rafael Ávila de Espíndola
c6dec379b0 Implement a bit of type parameter matching to get a simple case working. 2011-01-24 11:58:01 -08:00
Graydon Hoare
546d144009 Teach AST, parser, folder about iter items. 2011-01-21 17:06:20 -08:00
Graydon Hoare
3780551878 Re-XFAIL integral-indexing.rs. Seems OSX and linux still don't like it. 2011-01-21 17:05:25 -08:00
Graydon Hoare
b361b1ee8c Un-XFAIL 7 tests that have begun working on rustc lately. Fix one bug in mlist.rs. 2011-01-21 15:56:42 -08:00
Graydon Hoare
90e329da6b First cut at translating const items. Support the literal forms at least. Un-XFAIL const.rs. 2011-01-21 12:09:25 -08:00
Graydon Hoare
c72d6a3e7a Merge remote branch 'espindola/params' 2011-01-21 11:07:09 -08:00
Rafael Ávila de Espíndola
7672813708 Change the return type of the getter method so that we can get to the type
params.
2011-01-21 13:54:44 -05:00
Graydon Hoare
51542b279f Fix bug in trans_for, un-XFAIL linear-for-loop.rs. 2011-01-21 08:25:13 -08:00
Graydon Hoare
6daec4004a First cut of trans_for. 2011-01-21 07:59:57 -08:00
Graydon Hoare
8bc57fa85e Tweak effect-checking rules in rustboot, remove/rewrite/re-auth impure cases in trans.rs 2011-01-21 07:59:56 -08:00
Graydon Hoare
2c27feb76a M-x indent-region on trans.rs. 2011-01-21 07:59:48 -08:00
Graydon Hoare
45fd05ac42 Teach ty and typeck about linear for loops. 2011-01-20 15:54:38 -08:00
Graydon Hoare
61379af1a9 Fix typo in fold. 2011-01-20 15:54:19 -08:00
Graydon Hoare
c9d2eceb45 Teach resolve about linear for loops. 2011-01-20 15:17:26 -08:00
Graydon Hoare
a8af013077 Adjust AST encoding, teach fold about linear for loops. 2011-01-20 15:02:12 -08:00
Rafael Ávila de Espíndola
7fdb6437d8 typo 2011-01-20 16:20:45 -05:00
Graydon Hoare
33b342e891 Teach ast and parser about linear for expressions. 2011-01-20 13:11:47 -08:00
Graydon Hoare
9d3ebd6a57 Implement dynamic GEP enough to permit expr_field to work on tup(T,T,T). 2011-01-19 16:29:14 -08:00
Rafael Ávila de Espíndola
35d53b7eb1 Look at the type params of an item_ty when resolving. 2011-01-19 16:13:33 -05:00
Rafael Ávila de Espíndola
d313e1579b Fold function output and argument types. With this change we fail to compile
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.
2011-01-19 15:02:56 -05:00
Graydon Hoare
e8d266c614 Change generic-drop-glue.rs to be meaningful again, and un-XFAIL on rustc. 2011-01-18 17:20:13 -08:00
Graydon Hoare
a0aedd14c7 Twiddle comment. 2011-01-18 17:19:04 -08:00
Graydon Hoare
9cc00d5f6c Fix bug (I think) when unifying ty_local and ty_param. 2011-01-18 17:18:51 -08:00
Rafael Ávila de Espíndola
41b7d6d74d One last refactoring of the import handling:
* 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.
2011-01-18 15:43:13 -08:00
Graydon Hoare
e92298187b Add bzero glue and preliminary code for dynamic size/align calculations. 2011-01-18 15:38:35 -08:00
Graydon Hoare
b86e8115d7 Add Benjamin to AUTHORS. 2011-01-17 18:56:03 -08:00
benjaminjackman
7f4ec2c622 fixed typo in tuple menu label 2011-01-17 18:09:35 -08:00
Graydon Hoare
3a920e7ca8 Fix missing case in ty. 2011-01-17 17:24:47 -08:00
Graydon Hoare
bc21965c98 Use homebrew memcpy, not llvm intrinsic. Can't run the latter on a rust stack. 2011-01-17 17:24:33 -08:00
Graydon Hoare
156e1b363f Make legal and un-XFAIL generic-fn-infer.rs (on both compilers). 2011-01-17 16:03:38 -08:00
Graydon Hoare
58bf592dcc Fix a couple bugs in parametric returns. 2011-01-17 15:54:52 -08:00
Graydon Hoare
5f591c3767 Allocate and reload retslots. Copy into them on polymorphic returns. 2011-01-17 15:22:45 -08:00
Rafael Ávila de Espíndola
9f3caed8a0 Enable more tests. 2011-01-17 18:13:55 -05:00
Graydon Hoare
a8be673a9c Whitespace cleanup. 2011-01-17 14:35:57 -08:00
Rafael Ávila de Espíndola
58490d7fa0 Fix the last known (to me) bug in import resolution. We were not properly
dropping the inner part of the environment when an intermediate item resolved
in an outer scope.
2011-01-17 13:33:13 -08:00
Graydon Hoare
d1fdf0ab23 Teach copy_ty to finish via memcpy of tydesc-provided size. 2011-01-17 13:30:29 -08:00
Rafael Ávila de Espíndola
57b281533d Some misc cleanups:
* Remove unused argument
* Move option.t wrapping to outer functions.
2011-01-17 14:58:18 -05:00
Graydon Hoare
4b8779ea95 Pass tydescs to parametric fns, along with (dummy, presently) retptr when needed. Can call simple parametric fn now. 2011-01-14 16:50:37 -08:00
Graydon Hoare
d55bee4417 Further corrections to the logging layer in runtime. 2011-01-14 16:50:37 -08:00
Rafael Ávila de Espíndola
5b9eda4a41 Fix the import handling in "complex" cases. When looking a.b.c and 'a' is a
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.
2011-01-14 17:34:00 -05:00
Graydon Hoare
c8a2c44a8e Expand generic info in lval_result. 2011-01-14 14:17:57 -08:00
Graydon Hoare
bc416284ac Trim long lines. 2011-01-14 13:59:35 -08:00