Commit graph

10581 commits

Author SHA1 Message Date
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