Commit Graph

22503 Commits

Author SHA1 Message Date
Graydon Hoare 6a0b06e562 Rename 'exterior' to 'box' and 'interior' to 'local' (at least wrt. slots; keep MEM_interior for describing interior-parts-of-allocations) 2010-06-30 22:45:54 -07:00
Graydon Hoare 8b8186db87 No more "transplant" behavior in "let @x = y", gotta box explicitly. 2010-06-30 21:17:45 -07:00
Graydon Hoare e460da3889 Auto-deref on lval-ext terms (x.y == x->y, if you like) 2010-06-30 21:16:13 -07:00
Graydon Hoare 0b252a96b1 De-duplicate code in get_resolved_ty, make recursive, add a case for tup. 2010-06-30 21:01:28 -07:00
Graydon Hoare d2e7c1a5dc Add two move variants of "acceptable mismatches to recover from" when the mut_ok or ext_ok flags are set. 2010-06-30 21:00:57 -07:00
Graydon Hoare edfcd3a723 Add relaxed init-context in which we're willing to auto-deref. 2010-06-30 21:00:09 -07:00
Graydon Hoare f6fda46020 Add TYSPEC_mutable, merge control-flag for it and auto_deref into unify_ctx structure. 2010-06-30 19:45:40 -07:00
Graydon Hoare cab674447f Make type-cast decisions based on simplified types. 2010-06-30 19:30:12 -07:00
Graydon Hoare 4765d1e358 Fix another type bug I introduced yesterday; found through wondrous logging technology. 2010-06-30 15:26:34 -07:00
Graydon Hoare 335053eb68 Improve logging in type. 2010-06-30 15:25:24 -07:00
Graydon Hoare 77cf4a880c Pick out error in type due to delightfully clear logging. 2010-06-30 15:16:37 -07:00
Graydon Hoare 4cd49c0ab0 Improve logging in type.ml, give it indentation and per-statement context. 2010-06-30 15:13:29 -07:00
Graydon Hoare b450838c46 Fix recently-broken lval formatter. 2010-06-30 15:12:42 -07:00
Graydon Hoare 6c3a2491d8 Add support for parsing COMP_deref lval components (*foo). 2010-06-30 14:51:36 -07:00
Graydon Hoare 9fb3e128da Fix formatting string. 2010-06-30 14:51:03 -07:00
Graydon Hoare 0ac6be85a9 Add a COMP_deref to lvals for explicit-derefs, modify typechecker to implicitly deref in only *some* contexts. 2010-06-30 12:39:11 -07:00
Graydon Hoare 8e4a10790f rewrite 'mutable &' as '& mutable', corresponding to grammar shift. 2010-06-30 02:30:17 -07:00
Graydon Hoare e828b2a94d Tidy up (I think) a couple typos from patrick's last commit. 2010-06-30 01:45:36 -07:00
Graydon Hoare df0eebcf1e Improve error message. 2010-06-30 01:42:40 -07:00
Graydon Hoare 5a8d93c652 Remove redundant (and misnamed) function "without_exterior" in trans. 2010-06-30 00:58:15 -07:00
Graydon Hoare d796673c11 Reimplement backup scheme for handling lvals not yet resolved by typechecker. 2010-06-30 00:57:28 -07:00
Graydon Hoare 8120a59097 Init the exterior ty, not the inner ty. 2010-06-30 00:56:44 -07:00
Graydon Hoare 6ee16b588d Fix error-message typo. 2010-06-30 00:55:53 -07:00
Graydon Hoare 992f344c83 Use simplified_ty in effect. 2010-06-30 00:55:27 -07:00
Graydon Hoare 7e853457df Move simplified_ty from trans to semant and use it a few places. 2010-06-30 00:55:04 -07:00
Graydon Hoare 861423989d Add logging to type and effect. 2010-06-30 00:53:33 -07:00
Graydon Hoare 2a1d88ae00 Fix exterior formatter. 2010-06-30 00:52:52 -07:00
Graydon Hoare 7d076bcaa0 Get compiler to the point of building std.rc and rustc.rc. 2010-06-30 00:07:37 -07:00
Graydon Hoare 675f90eca3 Handle constrained types in type.ml while we're at it. 2010-06-30 00:07:05 -07:00
Graydon Hoare fc1b86e1ca Wrap long lines. 2010-06-30 00:06:31 -07:00
Patrick Walton c2d4c1116f Teach the typechecker about the auto-dereference and auto-promote-to-mutable semantics we're going with 2010-06-29 19:56:04 -07:00
Graydon Hoare f05fc6b9d7 Different, not quite correct yet, but I think slightly closer to correct, approach to convincing the typechecker to get along with this new type grammar. 2010-06-29 18:25:16 -07:00
Graydon Hoare 2a00a61ef3 Thread a 'simplification' flag through unifier, attempt to strip off layers of ignorable types when simplification is permitted.
Gets std.rc through typechecking, but assigns some wrong types to lvals (the simplified types, not the correct ones).
2010-06-29 16:46:07 -07:00
Roy Frostig e692ccfb0c Add (XFAILed) testcase for typechecker issue where fns-in-mods appear to lose their type parameters over the course of the typechecking pass. 2010-06-29 16:13:26 -07:00
Graydon Hoare 7b11a52a37 Update LLVM translation to match changes to slot and ty. 2010-06-29 14:06:50 -07:00
Graydon Hoare 17c293bbaa Merge branch 'master' of git@github.com:graydon/rust 2010-06-29 12:06:18 -07:00
Graydon Hoare 1f9fd2710e Initial stab at lowering mutable and exterior into the type system. 2010-06-29 12:00:15 -07:00
Graydon Hoare ffdcd67c25 Fix underlying failure to signal errors when dep'ing. 2010-06-29 10:32:11 -07:00
Graydon Hoare 0ad7468ff2 Revert "Improve makefile to try to avoid wedging on failure-to-dep lib/std.rc"
This reverts commit 3bc263f102.
2010-06-29 10:30:36 -07:00
Graydon Hoare 3bc263f102 Improve makefile to try to avoid wedging on failure-to-dep lib/std.rc 2010-06-29 10:25:25 -07:00
Roy Frostig 0d6aaec493 Work-around and un-XFAIL generic-obj.rs test. The problem uncovered in the original XFAIL is more generally that of issue #92. 2010-06-29 00:48:49 -07:00
Roy Frostig 023e5af639 The few and proud isolated bits from stdlib-work so far that don't break everything. Note util.rs hasn't yet been declared mod in the std crate. Don't do that yet, as it breaks make check. 2010-06-28 23:18:51 -07:00
Graydon Hoare d94f0e2498 Add a NO_VALGRIND override mechanism to makefile, if you want day-to-day builds to cycle faster on linux. 2010-06-28 22:29:17 -07:00
Roy Frostig d5ff6e133c Add to generic-obj.rs testcase a method that takes an argument of the object type-param type. XFAIL the test since it no longer passes. 2010-06-28 21:45:48 -07:00
Roy Frostig 5b5b334c24 Testcase (XFAILed) for fn item given as lval. 2010-06-28 21:18:09 -07:00
Graydon Hoare 329a65530f Canonicalize hashtables after running them through htab_map. Closes #77. 2010-06-28 19:24:04 -07:00
Graydon Hoare bd059a354d Whitespace. 2010-06-28 19:21:09 -07:00
Graydon Hoare 5abc483d9a Move more of the GC logic into the runtime. 2010-06-28 18:53:43 -07:00
Roy Frostig a27cbd4ee8 Testcase (XFAILed) for mutable alias vec weirdness. 2010-06-28 16:36:24 -07:00
Roy Frostig 66d313d365 Teach the typechecker that uints are integral types. Closes #88. 2010-06-28 15:27:05 -07:00