233 Commits

Author SHA1 Message Date
Graydon Hoare
cf19c5132a Hey, what's a coding sprint without an uncovered register allocation bug? No fun, I say. 2010-07-02 22:44:21 -07:00
Patrick Walton
667d46bef9 Add an arr_iter2 function to common.ml 2010-07-02 18:02:46 -07:00
Graydon Hoare
50e75e049b Deja vu all over again. Something makes me think this is a usability hazard. 2010-07-02 17:14:46 -07:00
Graydon Hoare
233be40e25 Terminology mop-up. 2010-07-02 17:13:02 -07:00
Graydon Hoare
46ebf12f40 You may get the feeling that all these changes look eerily the same. You would be correct. 2010-07-02 17:04:16 -07:00
Graydon Hoare
3070725cce Simplify type before deciding how to free it. Hint: calling free() on a running task is usually a bad idea. 2010-07-02 16:42:42 -07:00
Graydon Hoare
8660ce50a1 Merge branch 'master' of git@github.com:graydon/rust into exterior_and_mutable_types 2010-07-02 16:27:39 -07:00
Graydon Hoare
026cdf9747 Fix bug in clone logic; was ignoring the mutability-strip step in later rule. 2010-07-02 16:16:57 -07:00
Graydon Hoare
0be19e8a95 Teach severing logic to handle obj and fn types. 2010-07-02 16:12:58 -07:00
Graydon Hoare
ec0de963e0 Wrap long line. 2010-07-02 16:12:34 -07:00
Graydon Hoare
63f9bd7b63 Trace mark and sever steps in GC. 2010-07-02 16:12:10 -07:00
Graydon Hoare
b1d3e9697a Return LLVM to at least being able to run hello world. 2010-07-02 15:11:44 -07:00
Graydon Hoare
6d58987538 Walk (mut/constr stripped) TY_iso edges when boxed. Fault on non-boxed edges; they should not have made it past resolve. 2010-07-02 14:58:55 -07:00
Graydon Hoare
f522605f6b Permit mutables as comparable in all contexts. 2010-07-02 12:52:58 -07:00
Graydon Hoare
f955d06ca9 Don't unify the *input* to init-box with a box constraint, nurr. 2010-07-02 12:33:51 -07:00
Graydon Hoare
0efce5ebe2 Improve logging in type. 2010-07-02 12:32:49 -07:00
Graydon Hoare
41fa7a404e Merge branch 'exterior_and_mutable_types' of git@github.com:graydon/rust into exterior_and_mutable_types 2010-07-02 12:03:46 -07:00
Graydon Hoare
285a4735b9 Parse effect-qualified type definitions. 2010-07-02 12:02:56 -07:00
Patrick Walton
a343133511 Allow formatting individual decl_params 2010-07-02 11:57:04 -07:00
Graydon Hoare
a7665b2ae1 Correct drop-ty path; many tests now run. 2010-07-02 09:46:27 -07:00
Graydon Hoare
d9037af22d Improve drop-path logging and simplify box_rc_cell. 2010-07-02 09:45:24 -07:00
Graydon Hoare
8370b947a4 Wrap long lines. 2010-07-01 23:53:32 -07:00
Graydon Hoare
f0faeaed25 Yeah. Not even a semantic mix-up: just a damn typo. 2010-07-01 23:45:16 -07:00
Graydon Hoare
27d69a88b1 Teach clone_ty to tolerate cloning a mutable (though not state) type. 2010-07-01 23:20:28 -07:00
Graydon Hoare
a2e4d45600 Improve mangling. 2010-07-01 23:15:42 -07:00
Graydon Hoare
f3de4ee2a7 Teach the associative_binary_op_ty_fold about box, mutable and tys. 2010-07-01 23:12:34 -07:00
Graydon Hoare
01cfcfab13 Strip outer 'mutable' off slot when deciding if pred can apply. 2010-07-01 21:20:30 -07:00
Graydon Hoare
2d40bc669c Retire defunct copy_ty in favour of trans_copy_ty, which invokes the same logic at the bottom. 2010-07-01 21:02:49 -07:00
Graydon Hoare
d0a1b6e914 Reinstate disgusting, filthy workarounds for deriving missing type information. It existed before, we will survive if it exists now. 2010-07-01 20:24:23 -07:00
Graydon Hoare
4273986623 Remove similar over-application of auto-deref from type. 2010-07-01 19:30:35 -07:00
Graydon Hoare
65a87a55a1 Remove too-optimistic (and not harmless) over application of auto-deref in trans. 2010-07-01 19:29:51 -07:00
Graydon Hoare
314af0a44b Split out and improve trans_init_box. 2010-07-01 19:29:03 -07:00
Graydon Hoare
7df949af40 Add logging to trans_init_slot_from_atom. 2010-07-01 19:28:11 -07:00
Graydon Hoare
6c9832d3ec Catch ast pretty-printer up with init-tup syntax. 2010-07-01 19:27:20 -07:00
Graydon Hoare
bb018b24f5 Fox the clauses that actually satisfy box and mutable constraints; in all the confusion I had got those wrong. 2010-07-01 18:39:58 -07:00
Graydon Hoare
c27879a1aa Of course, the LHS constraint on an init-box statement is mutable @. 2010-07-01 18:39:08 -07:00
Graydon Hoare
fdafec39de Clarify in type logging when we have a constraint vs. a resolved type. 2010-07-01 18:38:28 -07:00
Graydon Hoare
2120599387 Establish the box constraint on the dst in STMT_init_box before propagating it to the rval. 2010-07-01 18:03:37 -07:00
Graydon Hoare
c30353d4f9 Remove TYSPEC_loggable. Everything's loggable (or will be, eventually; the backend can catch unimplemented cases until then). 2010-07-01 17:56:20 -07:00
Graydon Hoare
4bec9538cc Check the simplified type used in check-expr in trans. 2010-07-01 17:55:28 -07:00
Graydon Hoare
ae25e66a7f Extract pattern-slot variables in lval typecheck context (mutable ok). 2010-07-01 17:11:01 -07:00
Graydon Hoare
abfeefc662 Relax alias-analysis pass to permit literal-aliasing. 2010-07-01 17:10:30 -07:00
Graydon Hoare
bcc7ec18b8 Remove the catch-all in type.ml, add cases for every stmt (a couple more handled; mostly still stubs). 2010-07-01 16:56:39 -07:00
Graydon Hoare
9138438620 Convey auto-deref judgments made in typechecker to trans layer; control the decision in one place. 2010-07-01 15:59:29 -07:00
Graydon Hoare
90b36dcd26 Correct overzealous bulk-edit to LLVM code. 2010-07-01 15:26:00 -07:00
Graydon Hoare
2122b59ea2 Some work on teaching trans to differentiate between auto-deref and explicit-deref contexts. 2010-07-01 13:20:57 -07:00
Graydon Hoare
ef61c458fa Add more logging to copy/init paths. 2010-07-01 11:11:34 -07:00
Graydon Hoare
bb3aad72c4 Remove redundant indirection-function. 2010-07-01 11:11:07 -07:00
Graydon Hoare
a7016ade65 Implement STMT_init_box in trans, clean up some of the semant table-accessors. 2010-07-01 10:44:27 -07:00
Graydon Hoare
8acb2cf47d Add STMT_init_box to typestate pass. 2010-07-01 10:14:38 -07:00