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 52f1904ddd
.
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
Brian Anderson
c1859d4cd0
Fix long lines
2012-06-09 03:42:30 -07:00
Brian Anderson
794f664dd9
syntax: Don't copy source string
2012-06-09 01:01:14 -07:00
Brian Anderson
21087bf1a5
syntax: Intern @strs instead of strs
2012-06-09 00:53:34 -07:00
Patrick Walton
436b77c9f8
Revert "syntax: Remove a couple of implicit copies" due to test failures
...
This reverts commit 46b12d3e05
.
2012-06-08 19:15:17 -07:00
Patrick Walton
46b12d3e05
syntax: Remove a couple of implicit copies
2012-06-08 17:56:17 -07:00
Patrick Walton
c7c37debe4
syntax: Use a ring buffer instead of a dvec and save a bunch of copies. Shaves a second or two off rustc.
2012-06-08 17:17:31 -07:00
Patrick Walton
cdcae39ba3
syntax: Remove some more implicit copies
2012-06-07 22:51:00 -07:00
Patrick Walton
fd85239119
syntax: Remove several deep copies that were happening due to misuse of parse_seq
2012-06-07 22:09:27 -07:00
Patrick Walton
26faa37305
syntax: Add a lot of copy keywords
2012-06-07 21:53:47 -07:00
Patrick Walton
847c5e4e98
syntax: Remove a bunch of implicit copies
2012-06-07 20:12:05 -07:00
Tim Chevalier
0327dc0b18
Insert missing maybe_print_comment call for class destructors
...
While it wasn't the original issue, the first program from #2487
failed the pretty-printing test because of this, so it's still a good
test case :-)
It also turns out that the second program from #2487 now triggers a
kind error, so I figured I might as well add it as a test case.
2012-06-06 22:09:10 -07:00
Tim Chevalier
de4f0b92b6
Say "easily" instead of "sanely"
...
I can't correct it every time, but every time someone uses "insane"/
"sane" as synonyms for "bad"/"good", they're saying that being like
me is the same as being everything that's bad and wrong in the world...
so I'm changing this to a word that means approximately the same thing
but doesn't devalue any group of people.
2012-06-06 22:09:10 -07:00
Niko Matsakis
3b4cfdeee2
Merge remote-tracking branch 'mozilla/incoming'
...
Conflicts:
src/rustc/middle/tstate/auxiliary.rs
2012-06-06 19:00:34 -07:00
Niko Matsakis
9c1910a66d
workaround LLVM bug #13042
2012-06-06 18:42:11 -07:00
Niko Matsakis
2adb3a5013
add pure annotations in ast_util
2012-06-06 18:37:18 -07:00
Niko Matsakis
45680c83ab
borrowck changes: some copies, some removed mut annotations, some dvec
2012-06-06 18:37:04 -07:00
Niko Matsakis
b61071d953
make lookup fn pure in codemap
2012-06-06 18:36:34 -07:00
Niko Matsakis
bede54b14a
misc. copies in core/syntax to please borrowck
2012-06-06 18:36:15 -07:00
Lindsey Kuper
cba77ffbfa
syntax: More grammatical error message
2012-06-06 14:51:13 -07:00
Lindsey Kuper
1a3b8fc43c
Have "aborting due to previous errors" message show an error count
2012-06-05 10:08:32 -07:00
Brian Anderson
75e4b8c8e9
syntax: Make span functions take args by copy. Eliminate some copy warnings
2012-06-04 21:57:47 -07:00
Michael Sullivan
6396e2c3c3
Make vecs implicitly copyable for all of our projects.
2012-06-04 19:53:30 -07:00
Patrick Walton
ae6d8d1b4d
rustc: Implement optional fat-arrow syntax for alt (transitional change)
2012-06-04 18:35:14 -07:00
Patrick Walton
70353cdbc4
Move imports around in qquote to avoid another cyclic import
2012-06-04 14:25:36 -07:00
Patrick Walton
3aaef3b9c7
Remove cyclic import * that resolve probably shouldn't have accepted
2012-06-04 13:40:08 -07:00
Niko Matsakis
3f6e6532ac
make vec fns/methods take imm slices.
...
this also repairs the unsoundness in typing of unpack_slice,
which was silently converting a const ptr to an imm one.
2012-06-02 19:14:57 -07:00
Graydon Hoare
57f399bd63
Implement 2 kinds of char / str escaping. Use in rustc. Close #2306 .
2012-05-31 15:32:29 -07:00
Eric Holk
3acc3c4d85
Make std::map require const keys.
2012-05-31 13:55:54 -07:00
Lindsey Kuper
f394933641
Allow optional comma before with
in FRU. Closes #2463 .
2012-05-31 12:20:26 -07:00
Lindsey Kuper
abef5f54c9
syntax: get rid of redundant case
2012-05-31 12:20:25 -07:00
Kevin Cantu
7dcbaedd32
Rename librustsyntax to libsyntax
...
Per issue #2418 .
2012-05-31 11:15:00 -07:00