Commit Graph

5217 Commits

Author SHA1 Message Date
Patrick Walton
a7e9984999 rustc: Build tydescs for types, and make all take and drop operations go through the tydescs for simplicity (LLVM inlines them). 2010-12-20 10:23:37 -08:00
Patrick Walton
ad5e920276 rustc: Remove the unused "name" parameter from trans.new_builder 2010-12-17 18:42:15 -08:00
Patrick Walton
9b56b79296 rustc: Make some no-op take and drop glue for scalar types 2010-12-17 18:40:24 -08:00
Graydon Hoare
01bcb1d10e Split part of typeck.check_fn out into typeck.check_item_fn, then check all fns, including obj fns. 2010-12-17 18:25:14 -08:00
Patrick Walton
7210a31e2a rustc: Make all drop and take glue have the same signature, so we can put them in tydescs 2010-12-17 18:20:51 -08:00
Graydon Hoare
b00abd04e2 Record type annotations for methods. 2010-12-17 17:52:25 -08:00
Patrick Walton
c44c7c5ab3 rustc: Zero out slots after dropping them 2010-12-17 17:21:56 -08:00
Graydon Hoare
56e040e61a Trans methods more correctly, and store vtbl pointer in pair returned from obj ctor. 2010-12-17 00:31:41 -08:00
Graydon Hoare
62d62ce4da Remove calltup fields from ABI, add binding fields. 2010-12-16 23:26:07 -08:00
Graydon Hoare
87b18f3539 Un-XFAIL tag.rs. 2010-12-16 23:25:32 -08:00
Graydon Hoare
a3f828f941 Sketch trans_vtbl. 2010-12-16 18:34:04 -08:00
Patrick Walton
bfdba2dbcc rustc: Translate parametric function signatures into task + type parameters + formal arguments 2010-12-16 16:35:19 -08:00
Graydon Hoare
31f0642da3 Stub out translation of obj ctors (no vtbl or body built). 2010-12-16 15:55:28 -08:00
Patrick Walton
51782d2c21 rustc: Add a type fold mechanism to the typechecker 2010-12-16 15:13:04 -08:00
Patrick Walton
a6c6e8679e rustc: Only generalize on definition types that can actually be parametric 2010-12-16 13:59:20 -08:00
Patrick Walton
680e858d61 rustc: Write types back when typechecking "ret" statements 2010-12-16 12:25:39 -08:00
Patrick Walton
13b889287b rustc: Make trans.type_of handle parameter types 2010-12-16 12:23:48 -08:00
Patrick Walton
e6908a66ec rustc: Infer the types of type-parametric functions 2010-12-16 11:12:45 -08:00
Graydon Hoare
9759d1e08a Annotate obj items while folding ast in typeck. 2010-12-16 10:34:54 -08:00
Graydon Hoare
7d2feae857 Collect obj items, translate obj-name references and obj-ctor types. 2010-12-16 10:23:47 -08:00
Graydon Hoare
d8d2220b30 Typecheck object method calls. 2010-12-15 20:23:36 -08:00
Graydon Hoare
482dc0c8fa Convert obj item type to ctor type rather than obj type. 2010-12-15 17:04:21 -08:00
Patrick Walton
e17473de07 rustc: Move next_var_id back to the crate context in typechecking; we'll need it when collecting item types 2010-12-15 15:10:41 -08:00
Patrick Walton
d1b2366983 rustc: Resolve type params 2010-12-15 13:13:36 -08:00
Graydon Hoare
76aab6b1a8 Teach typeck to stringify obj types. 2010-12-15 12:30:31 -08:00
Patrick Walton
91c0cab61a rustc: Un-XFAIL alt-pattern-simple.rs 2010-12-15 10:15:02 -08:00
Patrick Walton
42789c4b97 rustc: Fix bug involving extracting any variant element beyond the first. Un-XFAIL alt-tag.rs. 2010-12-15 10:11:33 -08:00
Patrick Walton
2a8350e8d9 rustc: Resolve tag names in the typechecker 2010-12-15 10:00:28 -08:00
Patrick Walton
0d3400fec2 rustc: Lex '_' as an underscore, not as an identifier 2010-12-15 09:44:48 -08:00
Patrick Walton
e17806e1c8 rustc: Translate pattern matching 2010-12-15 09:38:40 -08:00
Graydon Hoare
cd55b7ed89 Teach typeck.ty, typeck.collect_item_types and typeck.check_expr about obj items. 2010-12-14 18:04:39 -08:00
Graydon Hoare
b1e0c60d6d Add ty_obj to ast and parser. 2010-12-14 17:42:12 -08:00
Graydon Hoare
4cddeed651 Teach resolve about obj items. 2010-12-14 17:09:37 -08:00
Graydon Hoare
a7eb1ac90f Move call_expr parse rule to the place where it needs to be to understand complex calls. 2010-12-14 16:59:13 -08:00
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