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