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