Commit graph

1083 commits

Author SHA1 Message Date
Graydon Hoare
e0998847be Teach fold about objs. 2010-12-14 16:35:31 -08:00
Graydon Hoare
b606ba81cf Add obj items to AST and parser. 2010-12-14 15:32:13 -08:00
Graydon Hoare
3f227c71b2 Some terminology updates to talk about layers. 2010-12-14 13:41:19 -08:00
Patrick Walton
5a1cba7883 Make failing to resolve a symbol an error 2010-12-13 17:59:05 -08:00
Graydon Hoare
525966a543 Fix a couple bugs in iter_sequence, un-XFAIL vec-drop.rs. 2010-12-13 17:48:42 -08:00
Patrick Walton
90807e240f rustc: Typecheck pattern bindings 2010-12-13 16:44:20 -08:00
Patrick Walton
0ef65780ca rustc: Check patterns before arm blocks in alt expressions; this will be needed for binding type resolution 2010-12-13 16:39:35 -08:00
Patrick Walton
29e6d7a4ad rustc: Hack to get rid of passing i1 types for unit around in most cases, suggested by Rafael 2010-12-13 16:12:45 -08:00
Graydon Hoare
a3cbdc661c Set the new vec fill-size on the compiler side, as in rustboot. Un-XFAIL first 3 vec tests. 2010-12-13 11:16:04 -08:00
Graydon Hoare
734c190918 Syntax tweak: move 'mutable' from pseudo-ty-param on vec ctor to low-precedence prefix inside paren. 2010-12-13 09:25:19 -08:00
Patrick Walton
04e15bf8f8 rustc: Typecheck "alt" expressions and patterns 2010-12-12 20:02:49 -08:00
Patrick Walton
7d0734bb96 rustc: Propagate types for vector, tuple, record, assignment, and if expressions downward again 2010-12-12 19:54:58 -08:00
Patrick Walton
833af6f6f3 Revert "rustc: Propagate types for vector, tuple, record, assignment, and if expressions downward" due to test bustage
This reverts commit 1cdf42dd63.
2010-12-12 19:16:08 -08:00
Patrick Walton
d08b5bc3d4 rustc: Fix nonexhaustive match failure on unresolved identifiers 2010-12-12 16:49:51 -08:00
Patrick Walton
9ac42ca743 rustc: Resolve variant names in patterns 2010-12-12 16:47:37 -08:00
Patrick Walton
bc5fa9bf67 rustc: "resoling" -> "resolving" typo 2010-12-12 16:37:31 -08:00
Patrick Walton
38ba0e6917 rustc: Add a definition ID to tag patterns 2010-12-12 16:30:34 -08:00
Patrick Walton
1cdf42dd63 rustc: Propagate types for vector, tuple, record, assignment, and if expressions downward 2010-12-11 23:22:06 -08:00
Patrick Walton
0d5724b773 rustc: Make return value inference use next_ty_var, now that we have it 2010-12-11 22:40:46 -08:00
Patrick Walton
c3ab601a89 rustc: Move next_var_id from typeck.crate_ctxt to typeck.fn_ctxt 2010-12-11 22:37:23 -08:00
Patrick Walton
368459db43 rustc: Remove "update_env_for_arm" debugging message 2010-12-11 22:30:12 -08:00
Patrick Walton
de118d79b6 rustc: Resolve pattern bindings 2010-12-10 18:08:32 -08:00
Patrick Walton
0509b1b9d7 rustc: Add update_env_for_arm to fold; we'll need it to resolve pattern bindings 2010-12-10 17:49:28 -08:00
Graydon Hoare
f97242c255 Fix bad GEP and missing branch in iter_sequence; vec.rs compiles now. 2010-12-10 17:46:47 -08:00
Graydon Hoare
60affafdcd Implement expr_vec. 2010-12-10 17:25:22 -08:00
Graydon Hoare
779b913348 Fix trans_index implementation. 2010-12-10 17:25:22 -08:00
Patrick Walton
0d43c198f0 rustc: Add def ids to pattern bindings 2010-12-10 17:24:53 -08:00
Patrick Walton
0b84707da7 rustc: Add tag support to ty_of_item in typeck 2010-12-10 16:44:12 -08:00
Patrick Walton
2c472c0de8 rustc: Add LLVM typedefs for rust_crate and rust_task for good measure 2010-12-10 16:29:41 -08:00
Patrick Walton
cf8ad5f56d rustc: Declare LLVM typedefs appropriately 2010-12-10 16:24:47 -08:00
Patrick Walton
e37c032eb0 rustc: Move refcount incrementing out of line too 2010-12-10 16:14:06 -08:00
Graydon Hoare
865c06c1f9 Preliminary translation of expr_index. 2010-12-10 16:10:35 -08:00
Patrick Walton
270b93bd71 rustc: Move refcount decrement-and-free (drop) logic out-of-line 2010-12-10 15:37:17 -08:00
Patrick Walton
10d5d32537 rustc: Change lazy "and" and "or" to use scope contexts rather than sub-block contexts, to run cleanups properly 2010-12-10 15:27:55 -08:00
Graydon Hoare
0565350b5f Typecheck vec and index exprs. 2010-12-10 15:05:19 -08:00
Patrick Walton
eaa76bd83f rustc: Decouple new_fn_ctxt() from AST function arguments, so that it can be used to generate glue 2010-12-09 17:38:57 -08:00
Graydon Hoare
4e1046a508 Fix another bug in expr_index parse rule. 2010-12-09 17:34:44 -08:00
Graydon Hoare
d5ed5e7044 Fix bug in parse rule for expr_index. 2010-12-09 17:12:08 -08:00
Graydon Hoare
e04c24769e Add 'unexpected' fn to parser. 2010-12-09 17:11:52 -08:00
Graydon Hoare
8383b1c435 Fix token span tracking in lexer. 2010-12-09 17:11:05 -08:00
Graydon Hoare
3fa37eec9d Un-XFAIL lazy-and-or.rs and operator-associativity.rs. 2010-12-09 16:35:22 -08:00
Graydon Hoare
9ee3475e09 Rewrite second pass of collect_item_types to use fold, therefore process all items in crate. Add testcase to check. 2010-12-09 16:06:40 -08:00
Patrick Walton
1c9dc2ca52 rustc: Decouple new_fn_ctxt from AST items so that we can use it to generate glue too 2010-12-09 15:26:16 -08:00
Graydon Hoare
d213f9be95 Simplify second pass of collect_item_types so I can understand it better. 2010-12-09 15:19:38 -08:00
Graydon Hoare
b7e344622c Add a type abbreviation and redo first pass of collect_item_types to collect across the whole crate, not just top level. 2010-12-09 15:03:19 -08:00
Graydon Hoare
876282791e First sketch of support for const items, not including most of trans. 2010-12-09 14:37:50 -08:00
Graydon Hoare
9da8d11a52 Actually un-XFAIL drop-on-ret.rs. 2010-12-09 14:37:08 -08:00
Patrick Walton
5a6cc341ad rustc: Add gross eq_ty() and hash_ty() functions 2010-12-09 14:03:43 -08:00
Patrick Walton
e5bbe93646 rustc: Mark constant strings as constants 2010-12-09 13:49:26 -08:00
Patrick Walton
e652e58bfc rustc: Fix indirection problem with tag constructors 2010-12-09 13:39:33 -08:00