Commit Graph

9817 Commits

Author SHA1 Message Date
Tim Chevalier
a350bea313 Fix linker problem in issue 2214 test case 2012-06-21 16:58:35 -07:00
Graydon Hoare
312faf31df Tag all remaining FIXMEs with bugs. Install rule in tidy script to enforce this. 2012-06-21 16:44:10 -07:00
Lindsey Kuper
5710178081 Adding i suffixes so cfail tests keep failing after suffix inference 2012-06-21 16:19:04 -07:00
Lindsey Kuper
0fe9c0a9d1 Add tests to exercise the "pattern has N field(s), but" error patterns. 2012-06-21 16:19:04 -07:00
Lindsey Kuper
abfa8164cd Change the level of forcing in structurally_resolved_type().
A cleaner way to handle suffix inference for unary minus exprs.
2012-06-21 16:19:04 -07:00
Tim Chevalier
317864672d Revert "Add test for issue 2214"
This reverts commit 290206b178.

Forgot to add the actual native code, temporarily reverting.
2012-06-21 16:17:08 -07:00
Eric Holk
559c30ab17 xfailing vec-add. 2012-06-21 16:11:11 -07:00
Eric Holk
28ab0e8c03 Fixing illegal moves. 2012-06-21 16:11:11 -07:00
Eric Holk
40559ea839 Adding a benchmark for the new message passing code 2012-06-21 16:11:11 -07:00
Eric Holk
dc3862bf58 This was unsafe, and will probably leak. 2012-06-21 16:11:11 -07:00
Eric Holk
3b9848b869 Remove some warnings and make tests pass. 2012-06-21 16:11:11 -07:00
Eric Holk
e4c291530e Basic functionality for new ports and chans
The first benchmark shows about twice the throughput of the old system.
2012-06-21 16:11:11 -07:00
Eric Holk
f54829cf13 Move vector addition out of trans and into libcore. 2012-06-21 16:11:11 -07:00
Eric Holk
51ba3518ec Remove some singleton vector appends. 2012-06-21 16:11:11 -07:00
Eric Holk
4d1e415611 Remove some commented out code so the pretty printer doesn't get confused. 2012-06-21 16:11:11 -07:00
Eric Holk
bb572b4234 Updating errors in vec-add.rs 2012-06-21 16:11:11 -07:00
Eric Holk
f21fbc23d2 Fixed another performance issue 2012-06-21 16:11:11 -07:00
Eric Holk
9bdb2c9e48 Library vecs are fast now. 2012-06-21 16:11:11 -07:00
Eric Holk
0e5cfd9f33 Move vector addition out of trans and into libcore. 2012-06-21 16:11:11 -07:00
Eric Holk
f8fa0a2437 Generate a temporary for assign_ops. Issue #2581 2012-06-21 16:11:10 -07:00
Tim Chevalier
0b1675da16 Add and xfail test for 2101 2012-06-21 16:03:28 -07:00
Tim Chevalier
f149ea0c68 Remove unneeded field 2012-06-21 16:03:28 -07:00
Tim Chevalier
dc11396fda Remove unneeded SHAPE_VEC const 2012-06-21 16:03:28 -07:00
Tim Chevalier
c814df0bd6 Comments only: annotate FIXMEs 2012-06-21 16:03:28 -07:00
Tim Chevalier
be8b09160b Try removing code marked with "I don't think this is necessary" 2012-06-21 16:03:28 -07:00
Tim Chevalier
290206b178 Add test for issue 2214 2012-06-21 16:02:40 -07:00
Tim Chevalier
2a53640aa1 Test for issue 1896 (which appears to be fixed) 2012-06-21 14:08:02 -07:00
Brian Anderson
453e29cc39 core: Remove resolved FIXME around port destruction 2012-06-21 13:41:59 -07:00
Lindsey Kuper
c2222878c8 A test to exercise suffix inference for unary minus a little more. 2012-06-21 12:08:10 -07:00
Lindsey Kuper
e9d072ee89 Consolidate "make sure types are the same" fns. Issue #2644. 2012-06-21 11:16:36 -07:00
Michael Sullivan
393f739990 Rename upcall_malloc_dyn to just upcall_malloc. 2012-06-21 10:47:45 -07:00
Niko Matsakis
9a2b60dfce unxfail test for #2657 2012-06-21 10:20:46 -07:00
Niko Matsakis
287f163136 Issue #2657: track mutability of bindings, also prevent move from bindings 2012-06-21 09:45:01 -07:00
Tim Chevalier
c3d384b18f Comment only: annotate FIXME 2012-06-21 08:59:17 -07:00
Tim Chevalier
29330b5bda Comments only: annotate FIXMEs in cargo 2012-06-21 08:51:26 -07:00
Niko Matsakis
60603703ea handle moves in let initializers and allow moves from unsafe ptrs
Related to issue #2657, but this is not a complete fix.
2012-06-21 08:34:54 -07:00
Tim Chevalier
f9afce319a Fix typo in Windows snapshot hash 2012-06-20 21:42:36 -07:00
Tim Chevalier
419c335faa Apparently an extra space in the snapshot file breaks Windows completely? 2012-06-20 21:25:39 -07:00
Tim Chevalier
0865170f1a Register snapshots 2012-06-20 21:16:45 -07:00
Tim Chevalier
1b642bf02f Change core::comm to use classes instead of resources
Ports now are represented internally as classes.
2012-06-20 20:12:14 -07:00
Tim Chevalier
b02172971f Make trans give correct types to monomorphic dtors
Irritatingly, class dtors have a different type from resource
dtors (because class dtors have a self argument), and the monomorphic
case wasn't reflecting that. Fixed.
2012-06-20 20:12:14 -07:00
Tim Chevalier
0017116520 Don't shadow a class name with a local
The fix in 208621 means you now can't shadow a class name with a local,
which is consistent with other behavior. But stackwalk was doing that.
Fixed it.
2012-06-20 20:12:14 -07:00
Tim Chevalier
76d6120e52 Fix resolve bug that made nested classes not work
It wasn't possible to refer to the constructor for a class nested inside
an item from the class's outer scope. Fixed.
2012-06-20 20:12:14 -07:00
Tim Chevalier
6db7843f46 Monomorphize dtors correctly
The same dtor was getting re-used for different instances, which
didn't always work right. Fixed.
2012-06-20 20:12:14 -07:00
Tim Chevalier
1b4dcbecac Comments only: typos 2012-06-20 20:12:14 -07:00
Tim Chevalier
e7ce32310b Change map::get to map::find in ppaux 2012-06-20 20:12:13 -07:00
Tim Chevalier
f331cd9324 Don't consider loops to be breaking if they contain inner loops that break
Closes #2642
2012-06-20 18:53:38 -07:00
Tim Chevalier
613deb0312 Change error to debug
IMO this is a better workaround than using the old-style
error-pattern: syntax :-)
2012-06-20 18:52:43 -07:00
Lindsey Kuper
39c05b4b65 Remove obsolete comment. 2012-06-20 17:56:40 -07:00
Lindsey Kuper
1df6ddd08c doc: add information about suffix inference to tutorial and manual. 2012-06-20 17:56:40 -07:00
Brian Anderson
4dcf84e4f4 Remove bind. Issue #2189 2012-06-20 17:27:28 -07:00
Michael Sullivan
bcd3942f41 Fix a test I messed up. 2012-06-20 17:08:36 -07:00
Brian Anderson
b92a7b790b Register snapshots 2012-06-20 16:43:22 -07:00
Michael Sullivan
a057b13262 Don't allow + for evecs/estrs. It isn't implemented, and we are moving vec + to libs anyways. 2012-06-20 16:29:47 -07:00
Michael Sullivan
8aa5762d2e Repair the formatting of the table in is_binopable. 2012-06-20 16:29:47 -07:00
Tim Chevalier
c50eea17d4 Test for #2242 (xfailed for now) 2012-06-20 16:25:46 -07:00
Michael Sullivan
8040fd86bf Call the correct type formatting function for more typecheck diagnostics. Closes #2652. 2012-06-20 15:44:58 -07:00
Lindsey Kuper
60a658250e Don't force resolution of integral type vars in unary minus exprs
These were getting resolved too early, when they were still
unconstrained by the rest of the typing context.  Waiting a bit longer
to resolve them gives the rest of the typing context a chance to come
into play, so that they don't default to `int`.
2012-06-20 14:33:25 -07:00
Lindsey Kuper
64912c9a56 Use an unambiguous abbreviation for "operand" :) 2012-06-20 14:29:24 -07:00
Lindsey Kuper
5316fe6bb5 Add comments explaining integral type variables; fix typos 2012-06-20 12:46:38 -07:00
Michael Sullivan
a01bdbe207 Don't reverse all the arguments to span_lint for lint checking passes. 2012-06-20 10:30:48 -07:00
Niko Matsakis
de491ea707 two more tests for method autoderef 2012-06-19 20:52:33 -07:00
Niko Matsakis
773a640303 support autoderef on method calls 2012-06-19 20:46:48 -07:00
Eric Holk
514e8ded2f Temporarily ignoring tests that can go into infinite loops. 2012-06-19 18:03:28 -07:00
Eric Holk
e30a8b6f8c Updating kind rules to make sure we don't sneakily send ports. 2012-06-19 17:37:51 -07:00
Lindsey Kuper
3cf582b529 Enable integer literal suffix inference. 2012-06-19 17:06:05 -07:00
Lindsey Kuper
b1fa8249f1 Fix incorrect fn name in debug statement 2012-06-19 17:04:39 -07:00
Lindsey Kuper
3f56c0a42d Add i suffix to cfail test so it works after suffix inference 2012-06-19 16:57:13 -07:00
Lindsey Kuper
26bd186726 Don't create a new inference context for checking pattern ranges.
Ugly fix -- it would be better to refactor and consolidate the various
"make sure these types are the same" fns scattered around typeck.
2012-06-19 16:53:41 -07:00
Lindsey Kuper
3e281439a0 Union-find rank optimization for infer.
Makes deep-vector2 not run out of stack when suffix inference is
enabled.
2012-06-19 16:35:26 -07:00
Lindsey Kuper
906169d608 Add a node type in place of hand-rolled records in infer 2012-06-19 16:35:26 -07:00
Lindsey Kuper
8cc1149130 Adding i suffixes so cfail tests keep failing after suffix inference 2012-06-19 16:35:26 -07:00
Brian Anderson
636a849bf2 rustc: Add a temporary option to not link to the runtime 2012-06-19 12:36:59 -07:00
Eric Holk
ec0fbf526e Fixed a compile error in runtime. 2012-06-19 12:26:58 -07:00
Niko Matsakis
6e73e45e37 first steps to autoderef on method calls 2012-06-19 11:52:39 -07:00
Niko Matsakis
6c056fba4d random forgotten test case 2012-06-19 11:52:39 -07:00
Eric Holk
2a128fa205 Reference fixes. 2012-06-19 10:31:12 -07:00
Eric Holk
be664ddd29 Moved arc to libcore and added an arc that allows shared mutable state through mutual exclusion. 2012-06-19 10:31:12 -07:00
Eric Holk
dc718d97a6 Adding a lock/condition variable to libcore. 2012-06-19 10:31:12 -07:00
Eric Holk
9ee1480fd1 Another benchmark 2012-06-19 10:31:12 -07:00
Michael Sullivan
f648affeaa Fix a failing test. 2012-06-18 21:01:56 -07:00
Niko Matsakis
b0646e0749 document liveness a bit better 2012-06-18 19:41:17 -07:00
Brian Anderson
1ec5a5c635 Add 'do' expressions 2012-06-18 17:42:30 -07:00
Ben Blum
ee9e5b9d20 Avoid extra get_current_task()s in many upcalls (performance) 2012-06-18 20:36:25 -04:00
Michael Sullivan
30dd32d4db Fix generation of str/@. Closes #2638. 2012-06-18 15:54:37 -07:00
Michael Sullivan
797856cbde Use unboxed vecs for string shape glue. 2012-06-18 15:54:37 -07:00
Michael Sullivan
88ec259cee Put type descriptors in strings created by the runtime. Progress on #2638. 2012-06-18 15:54:37 -07:00
Michael Sullivan
b4484d51c1 Some cleanup in the runtime. 2012-06-18 15:54:37 -07:00
Brian Anderson
8967a66724 std: Use the singular 'test' when running just 1. Closes #2554 2012-06-18 15:52:53 -07:00
Brian Anderson
49d6d1bbb8 Remove FIXME from run-pass/basic.rs. Closes #2600 2012-06-18 15:46:34 -07:00
Lindsey Kuper
85977ced3f Adding i suffixes so cfail tests keep failing after suffix inference 2012-06-18 15:36:14 -07:00
Lindsey Kuper
567e4d9c6f Minor infer/typeck cleanups 2012-06-18 15:36:14 -07:00
Brian Anderson
ff536f3fa5 core: Don't require copyable options where possible. Closes #2636 2012-06-18 12:57:30 -07:00
Tim Chevalier
f87c28b122 Remove test that depends on rustc
There's already another test (run-pass/issue-2316-c) that tests for
the same bug. So there's no need to have this one, which depends on
librustc, in the test suite.

Closes #2368.
2012-06-18 12:14:03 -07:00
Niko Matsakis
b0e66a6f3b Undo workaround for #2633 since it is fixed.
This reverts commit a14df270dc.

Conflicts:

	src/rustc/middle/trans/base.rs
2012-06-17 16:38:13 -07:00
Niko Matsakis
982e1166b2 Issue #2633: remove last_use entries that are subject to a loan 2012-06-17 16:17:40 -07:00
Tim Chevalier
3e2006a570 Revert "Adding a lock/condition variable to libcore."
This reverts commit e394ebda37.
2012-06-16 15:34:15 -07:00
Tim Chevalier
e3c6e5e5b6 Re-fix whitespace 2012-06-16 15:22:22 -07:00
Tim Chevalier
0276a3376b Revert "Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion."
This reverts commit 015527b0ce.
2012-06-16 15:21:08 -07:00
Tim Chevalier
69447e9002 Revert "Reference and whitespace fixes."
This reverts commit 52f1904ddd.
2012-06-16 15:17:10 -07:00
Tim Chevalier
416b3bfea4 Comments only 2012-06-16 15:16:31 -07:00
Tim Chevalier
a14df270dc Make move_val take its first argument by copy
Workaround for #2633 -- should allow changes on eholk's branch to
compile without segfaulting.
2012-06-16 14:30:20 -07:00
Eric Holk
52f1904ddd Reference and whitespace fixes. 2012-06-15 22:14:02 -04:00
Eric Holk
21d56f2c68 Fixed a bug in extfmt where it couldn't parse unicode in format strings. 2012-06-15 22:01:07 -04:00
Eric Holk
015527b0ce Moved arc to libstd and added an arc that allows shared mutable state through mutual exclusion. 2012-06-15 22:00:58 -04:00
Eric Holk
e394ebda37 Adding a lock/condition variable to libcore. 2012-06-15 22:00:24 -04:00
Eric Holk
5c9f414a85 id_visitor should handle expr_index and expr_assign_op as well. 2012-06-15 22:00:04 -04:00
Michael Sullivan
2b70cbc992 Remove some dead code from rust_shape 2012-06-15 17:42:48 -07:00
Tim Chevalier
f0d8e978a9 Add test for #2633. Xfailed. 2012-06-15 17:33:35 -07:00
Michael Sullivan
6e63e2fd5f Fix copying of fixed length vectors. Closes #2630. 2012-06-15 15:31:19 -07:00
Michael Sullivan
a56902304d Make fixed length vecs implicitly copyable. Clean up some other kind code. Closes #2629 2012-06-15 15:31:19 -07:00
Michael Sullivan
999ab5418a Make the shape interpreter actually advance past fixed length vectors. Closes #2613. 2012-06-15 15:31:19 -07:00
Tim Chevalier
210db7d8d4 Test case for #2631 2012-06-15 15:21:17 -07:00
Tim Chevalier
093faaabe1 Handle index expressions' callee IDs correctly
Some code that handles unary and binary exprs' callee IDs was
    forgetting to handle the index expr case (since calls to
    user-defined index operators also have callee IDs). This was
    manifesting as an ICE in trans because when monomorphizing a
    function that had one of these operators in it (an index into a
    dvec, in the test case), the callee ID would be unbound to a type.

    Fixed it. Closes #2631.
2012-06-15 15:21:17 -07:00
Lindsey Kuper
7a253eabce Add an intermediate level of type/region variable resolution forcing
And change structurally_resolved_type() to force resolution of
non-region variables.
2012-06-15 12:54:44 -07:00
Paul Stansifer
047e3c45b3 Lexers now emit spans, not chposes. 2012-06-15 12:41:41 -07:00
Paul Stansifer
d6522ab2d3 Beginning of support for interpolation into token trees. 2012-06-15 12:41:41 -07:00
Paul Stansifer
d906fba636 Make token tree lexers and their stacks unique. 2012-06-15 12:41:41 -07:00
Paul Stansifer
d03c04b6ea Make tt lexers duplicatible. 2012-06-15 12:41:41 -07:00
Paul Stansifer
2f8be7dcbb Bugfix: obey the tt_lexer's own invariants. 2012-06-15 12:41:41 -07:00
Paul Stansifer
1e36d216be Add the interner to parse_sess. 2012-06-15 12:41:41 -07:00
Paul Stansifer
85ded92736 Make it possible to make tt_reader-based parsers. 2012-06-15 12:41:41 -07:00
Paul Stansifer
d619e8995f Make token trees re-lexable. 2012-06-15 12:41:41 -07:00
Paul Stansifer
1d25981c73 Formatting fixup in parser.rs 2012-06-15 12:41:41 -07:00
Paul Stansifer
32167f52b0 Pull out an interface for the lexer. 2012-06-15 12:41:41 -07:00
Paul Stansifer
473b1ec0a0 Make token trees parseable. 2012-06-15 12:41:41 -07:00
Patrick Walton
b6ed1de29e Issue #2591: Change "upvar" to "variable declared in an outer block" in tests 2012-06-15 12:24:12 -07:00
Michael Sullivan
68670f631c Make type_is_pod handle more types. 2012-06-15 11:48:04 -07:00
Niko Matsakis
e6c613ffa5 remove irrelevant fixme (#2607) 2012-06-15 06:24:52 -07:00
Patrick Walton
5151c08850 Issue #2591: Fix "upvar" jargon in borrowck error messages 2012-06-14 23:18:09 -07:00
Eric Holk
7b98fdd269 Merge branch 'incoming' of github.com:mozilla/rust into newsnap 2012-06-14 21:08:06 -07:00
Lindsey Kuper
e3f73e443e Tests for #1425 (xfail'd for now) 2012-06-14 21:04:53 -07:00
Eric Holk
56bd689767 Merge branch 'incoming' of github.com:mozilla/rust into newsnap 2012-06-14 21:03:41 -07:00
Eric Holk
8ab15c0266 Merge branch 'incoming' into newsnap 2012-06-14 20:36:16 -07:00
Lindsey Kuper
77e6573929 Further work on integer literal suffix inference (#1425)
In this commit:

  * Change the lit_int_unsuffixed AST node to not carry a type, since
    it doesn't need one

  * Don't print "(unsuffixed)" when pretty-printing unsuffixed integer
    literals

  * Just print "I" instead of "(integral)" for integral type variables

  * Set up trans to use the information that will be gathered during
    typeck to construct the appropriate constants for unsuffixed int
    literals

  * Add logic for handling int_ty_sets in typeck::infer

  * Clean up unnecessary code in typeck::infer

  * Add missing mk_ functions to middle::ty

  * Add ty_var_integral to a few of the type utility functions it was
    missing from in middle::ty
2012-06-14 20:24:36 -07:00
Graydon Hoare
d953462d03 Complete a data visitor type that does proper pointer-walking. 2012-06-14 19:58:34 -07:00
Eric Holk
d4b6898958 Correctly registering snapshot 2012-06-14 19:39:39 -07:00
Eric Holk
52c38ba886 Merge branch 'incoming' into newsnap 2012-06-14 19:36:22 -07:00
Eric Holk
e5dea14122 Registering snapshot 2012-06-14 19:34:40 -07:00
Tim Chevalier
a214e3abd2 Comments only: annotate FIXME in core::str 2012-06-14 19:32:41 -07:00
Tim Chevalier
d0e1591a6a Comments only: annotate FIXMEs in core::run 2012-06-14 19:32:41 -07:00
Tim Chevalier
70dde68cfb Annotate one FIXME and remove another
...since we probably won't have this kind of typestate.
2012-06-14 19:32:41 -07:00
Tim Chevalier
c96ae78c38 Comments only: annotate FIXMEs in core::os 2012-06-14 19:32:41 -07:00
Tim Chevalier
39d9c30a15 Remove code from parser that was awaiting snapshot
Remove old parser functions as well as support for old-style capture
clauses. Remove remaining old-style capture clauses.
2012-06-14 19:09:02 -07:00
Tim Chevalier
bc507c4ef5 Remove unneeded spawn in std::timer, and annotate a FIXME 2012-06-14 19:09:02 -07:00
Patrick Walton
6969f0f2fc Issue #2572: (trans) Fix self-referential classes. 2012-06-14 18:51:31 -07:00
Tim Chevalier
6b16325f43 Comments only: annotate FIXMEs 2012-06-14 18:46:33 -07:00
Tim Chevalier
dce5d6ab9c whitespace 2012-06-14 18:46:10 -07:00
Tim Chevalier
7ee7ba5955 Remove workaround 2012-06-14 18:21:17 -07:00
Tim Chevalier
7441a90fd9 Comments only: annotate FIXMEs 2012-06-14 18:21:17 -07:00
Michael Sullivan
af60716281 Get an initial implementation of boxed vectors working. 2012-06-14 18:01:05 -07:00
Tim Chevalier
9e9e280446 annotate FIXME in iter-trait 2012-06-14 17:57:22 -07:00
Tim Chevalier
f7dd2d5bd5 Add xfailed test case for issue 2611 2012-06-14 17:56:41 -07:00
Tim Chevalier
8945255559 Comments only: Annotate FIXMEs in libcore 2012-06-14 17:56:41 -07:00
Tim Chevalier
ffc9fff720 In dvec, annotate a FIXME and uncomment append_iter
I uncommented append_iter and made it compile. I hope it wasn't
horribly flawed in some other way... but if so, there was no comment
explaining how.
2012-06-14 17:56:41 -07:00
Tim Chevalier
97bcb20244 Avoid some duplicated typechecking work
There was a FIXME noting that ty::enum_variants and typeck::check::
check_enum_variants both call eval_const_expr. I tried refactoring the
code so that check_enum_variants does all the work and enum_variants
just looks up cached results, but this turned out not to be easy because
several ty functions call enum_variants and it might get invoked on an
enum before that enum item has been typechecked. Instead, I just made
check_enum_variants update the enum_var_cache so that enum_variants
will never call eval_const_expr twice on the same const.
2012-06-14 16:21:53 -07:00
Graydon Hoare
aeb9a2b72c Add zero check/fail paths on div/mod paths. Close #944. 2012-06-14 15:39:24 -07:00
Tim Chevalier
aa4fa2611c Remove an xfail-fast, as this seems to work on Windows now 2012-06-14 15:35:44 -07:00
Tim Chevalier
360d7c2c1d Remove an outdated FIXME, change to use the new //! ERROR syntax 2012-06-14 15:35:44 -07:00
Tim Chevalier
663000ce35 run-pass/autobind seems to work, so un-xfail it 2012-06-14 15:35:44 -07:00
Tim Chevalier
0a6ef35c8c while => for 2012-06-14 15:35:43 -07:00
Tim Chevalier
13d4b61182 Comments only: annotate FIXMEs in tests 2012-06-14 15:35:43 -07:00
Tim Chevalier
1509b091c4 Comments only: annotate FIXMEs in rustdoc 2012-06-14 14:30:17 -07:00
Tim Chevalier
c6462eec30 Comments only: annotate FIXMEs in reflect 2012-06-14 14:13:52 -07:00
Eric Holk
74d2f56f21 Adding move_val and move_val_init intrinsics. 2012-06-14 13:49:41 -07:00
Tim Chevalier
1642df8efa Remove a workaround 2012-06-14 12:40:49 -07:00
Tim Chevalier
fcab11da47 Refactor; annotate a FIXME 2012-06-14 12:24:56 -07:00
Tim Chevalier
24f9f45ac6 Comments only: annotate FIXMEs in typeck::infer 2012-06-14 12:10:48 -07:00
Tim Chevalier
699b14b99d Comments only: annotate a FIXME and remove an obsolete one 2012-06-14 12:07:42 -07:00
Tim Chevalier
730381d936 Annotate and fix FIXMEs in typeck 2012-06-14 12:04:05 -07:00
Tim Chevalier
87af3f3cca Dead code elimination 2012-06-14 11:10:32 -07:00
Patrick Walton
e38eaed978 Add a Num typeclass 2012-06-14 10:55:49 -07:00
Michael Sullivan
a72d469067 Add upcall_malloc_dyn to rustrt.def.in. 2012-06-13 18:36:58 -07:00
Michael Sullivan
591b2802ff Make trans only generate calls to the _dyn malloc upcalls, so we can get rid of the non dyn ones. 2012-06-13 18:00:17 -07:00
Michael Sullivan
4c0d41cffa Add a malloc_dyn upcall for dynamically sized allocations on the shared heap. 2012-06-13 17:59:21 -07:00
Tim Chevalier
e5a5fc2029 Allow impls to be re-exported
It was a little hard for me to believe, but it seems that re-exporting
an impl doesn't work at a, because encoder::encode_info_for_mod requires
that all the impls in the current module's impl map be local (that is,
bound to a value in the current crate's item map). Fixed it.

Closes #2414.
2012-06-13 15:52:00 -07:00
Brian Anderson
1db8515c08 Merge remote-tracking branch 'erickt/master' into incoming 2012-06-13 12:03:13 -07:00
Tim Chevalier
6f95c79b95 Traverse types in reachability
Issue 2526 showed a test case where a library exported only a type
that was a synonym for a class. Because the class's destructor wasn't
getting marked as reachable, its linkage was wrongly getting set to
"internal". The solution is for reachability to traverse types.

Closes #2526.
2012-06-13 11:57:01 -07:00
Lindsey Kuper
cce7327487 Allow trailing commas in import lists. Closes #2582. 2012-06-13 11:53:35 -07:00
Brian Anderson
ce750a7dbc Box AST idents 2012-06-13 11:30:45 -07:00
Michael Sullivan
bdd2000066 Some cleanup in tvec. 2012-06-13 11:17:02 -07:00
Tim Chevalier
920ea63f53 Register snapshots 2012-06-13 10:46:17 -07:00
Erick Tryzelaar
78daa1540c cargo: Recursively copy install fragments
This is useful on OS X in order to handle the .dSYM files.
2012-06-13 09:36:33 -07:00
Erick Tryzelaar
dd17a98a09 Fix cargo not making ./.cargo dir 2012-06-13 09:35:10 -07:00
Erick Tryzelaar
065fa9a462 Make cargo a little more ideomatic 2012-06-13 09:34:43 -07:00
Erick Tryzelaar
11a56c3e91 Add a couple more to_json impls. 2012-06-13 08:30:54 -07:00
Tim Chevalier
11e30b2a73 Forgot to xfail-fast this 2012-06-12 19:05:34 -07:00
Erick Tryzelaar
b361f6c288 Fix json no-implicit-copy warnings 2012-06-12 18:10:19 -07:00
Erick Tryzelaar
2cc0a0e19c std: Remove copy from all the hashmap key type params 2012-06-12 18:10:19 -07:00
Erick Tryzelaar
01118be818 whitespace cleanup 2012-06-12 18:10:19 -07:00
Erick Tryzelaar
48e877a435 Rewrite int/uint helper functions to use refs
This lets us pass them to generic functions.
2012-06-12 18:10:19 -07:00
Erick Tryzelaar
4335ce47f3 Convert most str and vec fns to slices 2012-06-12 18:10:18 -07:00
Erick Tryzelaar
f574cb4ac8 Clean up cargo imports. 2012-06-12 18:10:18 -07:00
Erick Tryzelaar
a816176eb5 std: Add a to_str impl for json::error. 2012-06-12 18:10:18 -07:00
Erick Tryzelaar
ac4ac328ee cargo: remove leading underscores 2012-06-12 18:10:18 -07:00
Tim Chevalier
eadd74b5b6 Test case for previous commit
(basically a stripped-down version of comm, and a "driver" that
constructs a new port)
2012-06-12 17:37:04 -07:00
Tim Chevalier
aa9d2d88d3 Handle class destructors correctly in metadata
This allows destructors to be inlined, which is necessary since
classes can have both ty params and destructors.
2012-06-12 17:37:04 -07:00
Michael Sullivan
35dd717352 Simplify a bunch of trans functions to not need the rust type. Remove some PointerCasts. 2012-06-12 17:01:13 -07:00
Michael Sullivan
ccf4e8cf9a Make vectors contain the right type descriptor. Closes #2536. 2012-06-12 17:01:13 -07:00
Michael Sullivan
4f61dcb026 Introduce an unboxed_vec type 2012-06-12 17:01:13 -07:00