1481 Commits

Author SHA1 Message Date
Michael Sullivan
d91e310982 Don't use literal info from the original source when pretty printing expanded ASTs. 2012-06-28 15:33:15 -07:00
Eric Holk
59221e9ac8 replace more vector + (issue #2719) 2012-06-28 13:52:23 -07:00
Eric Holk
ae06546bbf Replace more vector + (issue #2719) 2012-06-27 23:09:51 -07:00
Michael Sullivan
3297d465ca Have the syntax extension ast builders reserve the extra node ids required for overloading. Closes #2732. 2012-06-27 16:19:10 -07:00
Patrick Walton
143c7a3d96 syntax: Don't use an enum name as a variable name 2012-06-27 16:17:36 -07:00
Graydon Hoare
d3c6119a7a More keyword paring and migration in runtime, docs, code modes. 2012-06-27 13:30:49 -07:00
Graydon Hoare
697f1e38d6 Change 'native' and 'crust' to 'extern'.
This comes with a terminology change. All linkage-symbols are 'extern'
now, including rust syms in other crates. Some extern ABIs are
merely "foreign". The term "native" is retired, not clear/useful.

What was "crust" is now "extern" applied to a _definition_. This
is a bit of an overloading, but should be unambiguous: it means
that the definition should be made available to some non-rust ABI.
2012-06-26 16:18:37 -07:00
Eric Holk
b9d3ad0736 Getting rid of lots more vector +=. (issue #2719) 2012-06-26 00:39:18 -07:00
Michael Sullivan
329eca6044 Make vectors uglier ([]/~). Sorry. Should be temporary. Closes #2725. 2012-06-25 20:00:46 -07:00
Michael Sullivan
c087aaf56b When we cons up vector asts, generate evecs. 2012-06-25 20:00:39 -07:00
Paul Stansifer
4df2654f82 Make it possible to make built-in tt syntax extensions 2012-06-25 18:01:37 -07:00
Paul Stansifer
4f104954a6 parsing for the macro system 2012-06-25 18:01:37 -07:00
Tim Chevalier
da470ff5b8 Merge 2012-06-25 13:29:41 -07:00
Brian Anderson
c01f5ef034 Long lines 2012-06-24 17:46:12 -07:00
Brian Anderson
20b5ca3d2f syntax: Merge parse_for_expr, parse_do_expr 2012-06-24 17:08:05 -07:00
Tim Chevalier
487cbf8e90 Remove resources
Also fixed shapes for classes with dtors, as well as handling
offsets for classes with dtors correctly in take glue.

Closes #2485
2012-06-24 15:09:57 -07:00
Graydon Hoare
f60cdf27e7 Remove 'implements' keyword in favour of :, part of #2301. 2012-06-22 18:57:20 -07:00
Michael Sullivan
275c1e4438 Serialize out uniq vecs types 2012-06-22 11:58:07 -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
Eric Holk
f21fbc23d2 Fixed another performance issue 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
Niko Matsakis
287f163136 Issue #2657: track mutability of bindings, also prevent move from bindings 2012-06-21 09:45:01 -07:00
Brian Anderson
4dcf84e4f4 Remove bind. Issue #2189 2012-06-20 17:27:28 -07:00
Brian Anderson
1ec5a5c635 Add 'do' expressions 2012-06-18 17:42:30 -07:00
Tim Chevalier
e3c6e5e5b6 Re-fix whitespace 2012-06-16 15:22:22 -07:00
Tim Chevalier
69447e9002 Revert "Reference and whitespace fixes."
This reverts commit 52f1904ddde95fb7d8e654b4cc78a4f162385275.
2012-06-16 15:17:10 -07:00
Eric Holk
52f1904ddd Reference and whitespace fixes. 2012-06-15 22:14:02 -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
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
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
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
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
6b16325f43 Comments only: annotate FIXMEs 2012-06-14 18:46:33 -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
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
Lindsey Kuper
8a730a255d Allow trailing comma in vectors. Closes #2482. 2012-06-12 13:03:30 -07:00
Lindsey Kuper
bffb7db8ae syntax: clarify that trailing separators are never required 2012-06-12 11:18:31 -07:00
Lindsey Kuper
b75199634a syntax: minor cleanups; making things more idiomatic 2012-06-11 16:49:35 -07:00
Lindsey Kuper
8467279fac Add a new AST node for unsuffixed integer types. 2012-06-11 16:34:56 -07:00