<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libsyntax/parse, branch 0.6</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=0.6</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=0.6'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2013-04-01T03:22:47+00:00</updated>
<entry>
<title>Fix warnings</title>
<updated>2013-04-01T03:22:47+00:00</updated>
<author>
<name>Brian Anderson</name>
<email>banderson@mozilla.com</email>
</author>
<published>2013-04-01T02:27:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e3327d3833e6b1ea4b23ecd3332b869ce82f1999'/>
<id>urn:sha1:e3327d3833e6b1ea4b23ecd3332b869ce82f1999</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add AbiSet and integrate it into the AST.</title>
<updated>2013-03-30T01:36:20+00:00</updated>
<author>
<name>Niko Matsakis</name>
<email>niko@alum.mit.edu</email>
</author>
<published>2013-03-14T02:25:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6965fe4bceea836586bd8e7aa01a92a35b467f78'/>
<id>urn:sha1:6965fe4bceea836586bd8e7aa01a92a35b467f78</id>
<content type='text'>
I believe this patch incorporates all expected syntax changes from extern
function reform (#3678). You can now write things like:

    extern "&lt;abi&gt;" fn foo(s: S) -&gt; T { ... }
    extern "&lt;abi&gt;" mod { ... }
    extern "&lt;abi&gt;" fn(S) -&gt; T

The ABI for foreign functions is taken from this syntax (rather than from an
annotation).  We support the full ABI specification I described on the mailing
list.  The correct ABI is chosen based on the target architecture.

Calls by pointer to C functions are not yet supported, and the Rust type of
crust fns is still *u8.
</content>
</entry>
<entry>
<title>librustc: Remove `fail_unless!`</title>
<updated>2013-03-29T23:39:08+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-03-29T01:39:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1e91595520d0538e6003dc9186f1b0df5c25b77a'/>
<id>urn:sha1:1e91595520d0538e6003dc9186f1b0df5c25b77a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>auto merge of #5570 : alexcrichton/rust/fix-unused-imports, r=sanxiyn</title>
<updated>2013-03-29T12:57:44+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2013-03-29T12:57:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5da9e12778ddafb46e4a5013dd133af98f3dfb98'/>
<id>urn:sha1:5da9e12778ddafb46e4a5013dd133af98f3dfb98</id>
<content type='text'>
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.
</content>
</entry>
<entry>
<title>Removing unused imports</title>
<updated>2013-03-29T03:56:46+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2013-03-26T20:38:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=be57d745d2517305da4625891f08af8b3eb19042'/>
<id>urn:sha1:be57d745d2517305da4625891f08af8b3eb19042</id>
<content type='text'>
</content>
</entry>
<entry>
<title>libsyntax: Don't allow `impl (Trait) for Type` (with the parentheses).</title>
<updated>2013-03-29T01:56:36+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-03-29T01:55:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=36909c7575e2ddfe2925423aceb62d82ae8208b2'/>
<id>urn:sha1:36909c7575e2ddfe2925423aceb62d82ae8208b2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>librustc: Remove common fields and nested enums from the language</title>
<updated>2013-03-28T18:30:01+00:00</updated>
<author>
<name>Patrick Walton</name>
<email>pcwalton@mimiga.net</email>
</author>
<published>2013-03-28T18:29:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0a002d79b47340cc518ae4c0879a34c037c8411a'/>
<id>urn:sha1:0a002d79b47340cc518ae4c0879a34c037c8411a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>auto merge of #5596 : luqmana/rust/unit-struct, r=catamorphism</title>
<updated>2013-03-28T13:12:47+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2013-03-28T13:12:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=09dc38eda54537c0c10b8a89852c714e3e14f57a'/>
<id>urn:sha1:09dc38eda54537c0c10b8a89852c714e3e14f57a</id>
<content type='text'>
Fixes #5449.
</content>
</entry>
<entry>
<title>auto merge of #5586 : pcwalton/rust/expr-repeat-vstore, r=graydon</title>
<updated>2013-03-28T08:33:48+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2013-03-28T08:33:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d31053277aa8ced6778334d49de150b1393073eb'/>
<id>urn:sha1:d31053277aa8ced6778334d49de150b1393073eb</id>
<content type='text'>
r? @graydon
</content>
</entry>
<entry>
<title>auto merge of #5578 : erickt/rust/incoming, r=jbclements,erickt</title>
<updated>2013-03-28T04:51:53+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2013-03-28T04:51:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=84ddff3909b5920228642649b7f5cc011c0b900a'/>
<id>urn:sha1:84ddff3909b5920228642649b7f5cc011c0b900a</id>
<content type='text'>
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 `&amp;[&amp;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&lt;T&gt;` to have the right upper casing.

I also did some work on the parser, which allows for `fn foo&lt;T: ::cmp::Eq&gt;() { ... }` statements (#5572), fixed the pretty printer properly expanding `debug!("...")` expressions, and removed `ast::expr_vstore_fixed`, which doesn't appear to be used anymore.
</content>
</entry>
</feed>
