Erick Tryzelaar
0de7635f53
Merge remote-tracking branch 'remotes/origin/incoming' into serial
2013-03-29 17:48:44 -07:00
Erick Tryzelaar
529ae38605
Merge remote-tracking branch 'remotes/origin/incoming' into serial
2013-03-29 17:41:32 -07:00
Patrick Walton
1e91595520
librustc: Remove fail_unless!
2013-03-29 16:39:08 -07:00
John Clements
f2e47cddf8
change to parsing using tts
...
also, updates test cases a bit
2013-03-29 10:53:00 -07:00
John Clements
556143c488
commenting parser
2013-03-29 10:53:00 -07:00
John Clements
2b07f0fb00
field renaming
2013-03-29 10:53:00 -07:00
Erick Tryzelaar
31563f53d9
Merge remote-tracking branch 'remotes/origin/incoming' into serial
2013-03-29 09:06:36 -07:00
Erick Tryzelaar
d1a83e6986
std: add Encoder::emit_map and Decoder::read_map
2013-03-29 09:04:35 -07:00
Erick Tryzelaar
90b3658cd6
std: remove Encoder::read_rec and Decoder::emit_rec
2013-03-29 07:05:54 -07:00
Erick Tryzelaar
e99cdcfba8
std: remove Encoder::emit_tup{,_elt} and Decoder::read_tup{,_elt}
2013-03-29 07:05:54 -07:00
Erick Tryzelaar
590bbcebe9
std: remove Encoder::emit_{owned,managed}_vec and Decoder::read_{owned,managed}_vec
2013-03-29 07:05:54 -07:00
Erick Tryzelaar
63fc88757f
std: remove Encoder::emit_{owned,managed} and Decoder::read_{owned,managed}
2013-03-29 07:05:54 -07:00
Erick Tryzelaar
8b43c620b9
std: remove Encoder::emit_{owned,managed}_str and Decoder::read_{owned,managed}_str
2013-03-29 07:05:54 -07:00
bors
5da9e12778
auto merge of #5570 : alexcrichton/rust/fix-unused-imports, r=sanxiyn
...
Before it wouldn't warn about unused imports in the list if something in the list was used. These commits fix that case, add a test, and remove all unused imports in lists of imports throughout the compiler.
2013-03-29 05:57:44 -07:00
bors
a985bc52cd
auto merge of #5616 : pcwalton/rust/parenthesized-trait, r=brson
...
r? @brson
2013-03-28 23:00:50 -07:00
Alex Crichton
be57d745d2
Removing unused imports
2013-03-28 23:56:46 -04:00
Patrick Walton
36909c7575
libsyntax: Don't allow impl (Trait) for Type
(with the parentheses).
2013-03-28 18:56:36 -07:00
bors
f81459211d
auto merge of #5593 : luqmana/rust/inline-asm, r=catamorphism
...
Clean things up a bit. Also, allow selecting intel syntax in addition to the default AT&T dialect.
2013-03-28 18:18:46 -07:00
Patrick Walton
0a002d79b4
librustc: Remove common fields and nested enums from the language
2013-03-28 11:30:01 -07:00
bors
09dc38eda5
auto merge of #5596 : luqmana/rust/unit-struct, r=catamorphism
...
Fixes #5449 .
2013-03-28 06:12:47 -07:00
bors
d31053277a
auto merge of #5586 : pcwalton/rust/expr-repeat-vstore, r=graydon
...
r? @graydon
2013-03-28 01:33:48 -07:00
bors
84ddff3909
auto merge of #5578 : erickt/rust/incoming, r=jbclements,erickt
...
Hey folks,
This patch series does some work on the json decoder, specifically with auto decoding of enums. Previously, we would take this code:
```
enum A {
B,
C(~str, uint)
}
```
and would encode a value of this enum to either `["B", []]` or `["C", ["D", 123]]`. I've changed this to `"B"` or `["C", "D", 123]`. This matches the style of the O'Caml json library [json-wheel](http://mjambon.com/json-wheel.html ). I've added tests to make sure all this work.
In order to make this change, I added passing a `&[&str]` vec to `Decode::emit_enum_variant` so the json decoder can convert the name of a variant into it's position. I also changed the impl of `Encodable` for `Option<T>` to have the right upper casing.
I also did some work on the parser, which allows for `fn foo<T: ::cmp::Eq>() { ... }` statements (#5572 ), fixed the pretty printer properly expanding `debug!("...")` expressions, and removed `ast::expr_vstore_fixed`, which doesn't appear to be used anymore.
2013-03-27 21:51:53 -07:00
Andrew Paseltiner
f02ee42a86
derive Eq and Clone impls where applicable
2013-03-27 22:04:23 -04:00
Luqman Aden
09255dbe2d
libsyntax: error on struct Foo {}.
2013-03-27 18:17:58 -07:00
Luqman Aden
b867fe41de
libsyntax: Allow selecting intel style asm.
2013-03-27 15:41:58 -07:00
Luqman Aden
203d691a6b
libsyntax: use a struct for inline asm in ast.
2013-03-27 15:41:58 -07:00
Patrick Walton
e5dda811a9
librustc: Allow expr_repeat to be used with any vstore
2013-03-27 13:53:03 -07:00
bors
995425badb
auto merge of #5558 : nikomatsakis/rust/issue-4920-autoref-index-operator, r=nikomatsakis
...
Per discussion on IRC.
r? @pcwalton
2013-03-27 13:27:58 -07:00
Niko Matsakis
2a74fda316
Fix pretty-printer test failure by carrying the bound lifetime names through
...
the types. Initially I thought it would be necessary to thread this data
through not only the AST but the types themselves, but then I remembered that
the pretty printer only cares about the AST. Regardless, I have elected to
leave the changes to the types intact since they will eventually be needed. I
left a few FIXMEs where it didn't seem worth finishing up since the code wasn't
crucial yet.
2013-03-27 11:35:04 -07:00
Erick Tryzelaar
83e831bc22
syntax: Remove deprecated expr_vstore_fixed
2013-03-27 07:04:16 -07:00
Erick Tryzelaar
7a199d41a9
syntax: fix pretty printing __log stmts
2013-03-27 07:04:15 -07:00
Erick Tryzelaar
2e0b363a7f
syntax: Remove dead code from the parser
2013-03-27 07:04:15 -07:00
Erick Tryzelaar
b26ae289d0
syntax: Fix parsing global generics ( Closes #5572 )
2013-03-27 07:04:14 -07:00
Erick Tryzelaar
4d6dcefcbb
std: Decode::read_enum_variant should pass in the variant names
...
Because the json::Decoder uses the string variant name, we need a
way to correlate the string to the enum index. This passes in a
static &[&str] to read_enum_variant, which allows the json::Decoder
to know which branch it's trying to process.
2013-03-27 07:04:13 -07:00
Erick Tryzelaar
478e4498b7
std: add option type directly to serialize::{En,De}code
2013-03-27 07:04:12 -07:00
Erick Tryzelaar
4d995e66a2
std: change default json enum encoder to use strings or a flat vec
2013-03-27 07:04:12 -07:00
Erick Tryzelaar
b10b8c3ee4
std: Add tests for json decoding options
2013-03-27 07:04:11 -07:00
Erick Tryzelaar
bd77e9433f
syntax: pass some values around by reference
2013-03-27 07:01:45 -07:00
Erick Tryzelaar
2f1ab3a7fa
syntax: Add new values that can be used with the quasiquoter
2013-03-27 06:49:39 -07:00
Niko Matsakis
2c17ff7dbc
Simplify and remove unnecessary use of ast_map
2013-03-27 07:10:04 -04:00
Niko Matsakis
aa67deff33
remove sty_by_ref, though traces still remain due to dtors
2013-03-27 07:09:16 -04:00
Patrick Walton
0a4d0f37ca
librustc: Enforce that extern mod
directives come first, then use
directives, then items.
...
Resolve them in this order as well.
2013-03-26 21:30:17 -07:00
Patrick Walton
8b56a8380b
librustc: Modify all code to use new lifetime binder syntax
2013-03-26 21:30:17 -07:00
Patrick Walton
a376f46862
librustc: Stop parsing [T * N]
.
2013-03-26 21:29:35 -07:00
Patrick Walton
142dbd65da
librustc: Remove all uses of the old [T * N]
fixed-length vector syntax
2013-03-26 21:29:34 -07:00
Patrick Walton
46d4cc12d1
libsyntax: Stop parsing [const T]
.
2013-03-26 21:29:34 -07:00
Daniel Micay
34c5a09ce3
option: rm functions that duplicate methods
2013-03-26 22:44:40 -04:00
Alex Crichton
dbe1354321
Move ast_map::map to LinearMap
2013-03-26 19:21:05 -04:00
Alex Crichton
e4c3d805a4
syntax: Removing uses of HashMap
2013-03-26 19:20:02 -04:00
Alex Crichton
fa7772893a
Remove unused imports throughout
2013-03-26 19:20:02 -04:00