1549 Commits

Author SHA1 Message Date
Patrick Walton
b232ad94fd rustc: Remove unused or seldom-used imports from middle::tstate::{bitvectors, ck} 2011-07-06 15:14:35 -07:00
Patrick Walton
5739e0be01 rustc: Remove some unused references to std::vec from tstate::ann and tstate::auxiliary 2011-07-06 15:14:29 -07:00
Patrick Walton
abab04635a rustc: Move middle::tstate::auxiliary and middle::tstate::bitvectors over to interior vectors 2011-07-06 15:14:19 -07:00
Patrick Walton
6d1517cf3a rustc: Move tstate::annotate over to interior vectors 2011-07-06 15:14:09 -07:00
Patrick Walton
35c1dbd492 rustc: Convert bind_params_in_type() to use interior vectors 2011-07-06 15:13:59 -07:00
Patrick Walton
1d57800236 rustc: Migrate tag variants to interior vectors 2011-07-06 15:13:54 -07:00
Patrick Walton
2e1aa04fcd rustc: Make object methods into interior vectors 2011-07-06 15:13:47 -07:00
Brian Anderson
0eac640fdd Swap the expected/actual for typechecking fields of updated records
In 'rec(a = b with c)', if a exists in c then the expected type for b is the
type of c.
2011-07-06 14:04:52 -07:00
Patrick Walton
05954f37b7 rustc: Use an interior vector for ty::count_ty_params 2011-07-06 12:05:18 -07:00
Patrick Walton
e066bae56e rustc: Move the interner over to interior vectors 2011-07-06 12:05:13 -07:00
Patrick Walton
717ac3df77 rustc: Make the various constraint-related types in middle::ty use interior vectors 2011-07-06 12:05:06 -07:00
Patrick Walton
2fd46b54fb rustc: Make type parameter substitutions interior vectors 2011-07-06 12:04:59 -07:00
Patrick Walton
cb2018c6db rustc: Change constraints in types to use interior vectors 2011-07-06 12:04:07 -07:00
Patrick Walton
13d920c10d rustc: Switch tag type parameters to interior vectors 2011-07-06 12:03:55 -07:00
Patrick Walton
ede35f4c43 rustc: Use interior vectors for tag type parameters 2011-07-06 12:03:06 -07:00
Brian Anderson
066bcc6c79 Make "cannot determine a type for this local variable" non-fatal 2011-07-06 11:44:42 -07:00
Brian Anderson
5c20a8aa9c Make "cannot determine a type for this expression" non-fatal. Closes #621 2011-07-06 11:44:36 -07:00
Brian Anderson
c31472e845 Refactor the typeck::writeback AST walk
All visitors take a wb_ctxt now instead of some taking a fn_ctxt and some
taking an ignore flag.
2011-07-06 11:42:20 -07:00
Brian Anderson
0c9c4cb575 Remove unused method from typeck::writeback 2011-07-06 11:42:20 -07:00
Brian Anderson
c1136e4e05 Limit exports from typeck 2011-07-06 11:42:20 -07:00
Brian Anderson
97c1537374 Limit exports from typeck::writeback 2011-07-06 11:42:20 -07:00
Lindsey Kuper
e30d2c82ae Simplify AST for expr_anon_obj. 2011-07-06 11:36:06 -07:00
Lindsey Kuper
23bae67f4c Simplify arguments to trans_anon_obj and friends. 2011-07-06 11:36:06 -07:00
Patrick Walton
bbdba21b1f rustc: Revert the conversion to interior vectors due to heap corruption 2011-07-06 11:26:26 -07:00
Patrick Walton
1591955adf rustc: Make AST paths use interior vectors 2011-07-06 11:09:08 -07:00
Patrick Walton
b108280db1 rustc: Move middle::tstate::collect_locals over to interior vectors 2011-07-06 11:09:08 -07:00
Patrick Walton
48438ba1ae rustc: Remove unused or seldom-used imports from middle::tstate::{bitvectors, ck} 2011-07-06 11:09:07 -07:00
Patrick Walton
ec634e471f rustc: Remove some unused references to std::vec from tstate::ann and tstate::auxiliary 2011-07-06 11:09:07 -07:00
Patrick Walton
cfc659009e rustc: Move middle::tstate::auxiliary and middle::tstate::bitvectors over to interior vectors 2011-07-06 11:09:07 -07:00
Patrick Walton
702f88a3be rustc: Move tstate::annotate over to interior vectors 2011-07-06 11:09:07 -07:00
Patrick Walton
4c384304e9 rustc: Convert bind_params_in_type() to use interior vectors 2011-07-06 11:09:07 -07:00
Patrick Walton
5703bd1760 rustc: Migrate tag variants to interior vectors 2011-07-06 11:09:07 -07:00
Patrick Walton
52a7c2b78e rustc: Make object methods into interior vectors 2011-07-06 11:09:07 -07:00
Patrick Walton
75c5f9bdba rustc: Use an interior vector for ty::count_ty_params 2011-07-06 11:09:06 -07:00
Patrick Walton
bd7a072266 rustc: Move the interner over to interior vectors 2011-07-06 11:09:06 -07:00
Patrick Walton
b9a2117475 rustc: Make the various constraint-related types in middle::ty use interior vectors 2011-07-06 11:09:06 -07:00
Patrick Walton
0eb889f9d2 rustc: Make type parameter substitutions interior vectors 2011-07-06 11:09:06 -07:00
Patrick Walton
8bee69da25 rustc: Change constraints in types to use interior vectors 2011-07-06 11:09:06 -07:00
Patrick Walton
f391acbd3f rustc: Switch tag type parameters to interior vectors 2011-07-06 11:09:06 -07:00
Patrick Walton
09e591c12f rustc: Use interior vectors for tag type parameters 2011-07-06 11:09:06 -07:00
Marijn Haverbeke
7661c08496 Remove temporary stdlib placeholders, use actual stdlib functions
(Possible now that a snapshot took place.)
2011-07-06 16:46:17 +02:00
Lindsey Kuper
4c315666dd Forwarding functions. Lots of progress toward #539, #540, #543. 2011-07-05 20:21:59 -07:00
Lindsey Kuper
993e47175f Comments and cleanup. 2011-07-05 20:17:33 -07:00
Tim Chevalier
f279e0d76e Handle pattern-bound upvars
If a closure inside a case alternative (for example, a for each loop)
referenced a pattern-bound variable, this would cause an assertion
failure in trans. Changed trans::collect_upvars to handle pattern-bound
vars correctly.

Incidentally, eliminated all direct uses of option::get in trans.
2011-07-05 19:58:49 -07:00
Tim Chevalier
a793b85fbd Handle fail inside a for-each loop properly 2011-07-05 16:05:38 -07:00
Tim Chevalier
ded9008e38 handle fail inside a for loop 2011-07-05 16:05:38 -07:00
Tim Chevalier
6d0cb70fc3 Handle fail as an argument 2011-07-05 16:05:38 -07:00
Brian Anderson
a9d84ab28a Make type unification failures non-fatal
Add a failure checkpoint after the typechecking pass. There are still many
fatal errors in typeck, but loosening up this one makes it easier to lean on
the compiler when making changes to types.

Issue #440.
2011-07-05 14:40:33 -07:00
Graydon Hoare
a7d82a7f0f Factor the ivec code a touch. 2011-07-05 14:19:27 -07:00
Marijn Haverbeke
4349eaed84 Don't thread the local crate number through the session
It's a constant, anyway.
2011-07-05 16:09:32 +02:00