<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libsyntax/parse/parser.rs, branch 1.11.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.11.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.11.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2016-07-03T23:27:02+00:00</updated>
<entry>
<title>prefer `if let` to match with `None =&gt; {}` arm in some places</title>
<updated>2016-07-03T23:27:02+00:00</updated>
<author>
<name>Zack M. Davis</name>
<email>code@zackmdavis.net</email>
</author>
<published>2016-07-03T21:38:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d37edef9dd088d953c5e272db37686a338c31778'/>
<id>urn:sha1:d37edef9dd088d953c5e272db37686a338c31778</id>
<content type='text'>
This is a spiritual succesor to #34268/8531d581, in which we replaced a
number of matches of None to the unit value with `if let` conditionals
where it was judged that this made for clearer/simpler code (as would be
recommended by Manishearth/rust-clippy's `single_match` lint). The same
rationale applies to matches of None to the empty block.
</content>
</entry>
<entry>
<title>Refactor away `parser.commit_stmt_expecting()`</title>
<updated>2016-06-29T06:40:05+00:00</updated>
<author>
<name>Jeffrey Seyfried</name>
<email>jeffrey.seyfried@gmail.com</email>
</author>
<published>2016-06-29T06:40:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a9d25f8b5936bc5477c8318fa4ddd315a2df55b5'/>
<id>urn:sha1:a9d25f8b5936bc5477c8318fa4ddd315a2df55b5</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #34436 - jseyfried:no_block_expr, r=eddyb</title>
<updated>2016-06-26T02:20:14+00:00</updated>
<author>
<name>Jeffrey Seyfried</name>
<email>jeffrey.seyfried@gmail.com</email>
</author>
<published>2016-06-26T02:19:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9bb3ea0febcbb8f6d7715256a5644daa985cf4e7'/>
<id>urn:sha1:9bb3ea0febcbb8f6d7715256a5644daa985cf4e7</id>
<content type='text'>
To allow these braced macro invocation, this PR removes the optional expression from `ast::Block` and instead uses a `StmtKind::Expr` at the end of the statement list.

Currently, braced macro invocations in blocks can expand into statements (and items) except when they are last in a block, in which case they can only expand into expressions.

For example,
```rust
macro_rules! make_stmt {
    () =&gt; { let x = 0; }
}

fn f() {
    make_stmt! {} //&lt; This is OK...
    let x = 0; //&lt; ... unless this line is commented out.
}
```

Fixes #34418.
</content>
</entry>
<entry>
<title>Rollup merge of #34339 - jseyfried:thin_vec, r=petrochenkov,Manishearth</title>
<updated>2016-06-26T02:18:43+00:00</updated>
<author>
<name>Jeffrey Seyfried</name>
<email>jeffrey.seyfried@gmail.com</email>
</author>
<published>2016-06-26T02:18:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8eddf0280014972e051856dfe949054acf53c043'/>
<id>urn:sha1:8eddf0280014972e051856dfe949054acf53c043</id>
<content type='text'>
Generalize and abstract `ThinAttributes` to `ThinVec&lt;Attribute&gt;`.
</content>
</entry>
<entry>
<title>Rollup merge of #34316 - jseyfried:refactor_ast_stmt, r=eddyb</title>
<updated>2016-06-26T02:17:27+00:00</updated>
<author>
<name>Jeffrey Seyfried</name>
<email>jeffrey.seyfried@gmail.com</email>
</author>
<published>2016-06-26T02:16:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8748cd92d06328af657934f6728183c10f92eefe'/>
<id>urn:sha1:8748cd92d06328af657934f6728183c10f92eefe</id>
<content type='text'>
Refactor away `ast::Decl`, refactor `ast::Stmt`, and rename `ast::ExprKind::Again` to `ast::ExprKind::Continue`.
</content>
</entry>
<entry>
<title>Rollup merge of #33943 - jseyfried:libsyntax_cleanup, r=nrc</title>
<updated>2016-06-26T02:15:04+00:00</updated>
<author>
<name>Jeffrey Seyfried</name>
<email>jeffrey.seyfried@gmail.com</email>
</author>
<published>2016-06-26T02:14:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=33ea1e330ccdda85a1501078c0b997fd27ce1e72'/>
<id>urn:sha1:33ea1e330ccdda85a1501078c0b997fd27ce1e72</id>
<content type='text'>
Miscellaneous low priority cleanup in `libsyntax`.
</content>
</entry>
<entry>
<title>Rollup merge of #34385 - cgswords:tstream, r=nrc</title>
<updated>2016-06-26T02:11:59+00:00</updated>
<author>
<name>Jeffrey Seyfried</name>
<email>jeffrey.seyfried@gmail.com</email>
</author>
<published>2016-06-25T22:35:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=82a15a6a0af724e71004c735f8a99ec5f2a03920'/>
<id>urn:sha1:82a15a6a0af724e71004c735f8a99ec5f2a03920</id>
<content type='text'>
syntax-[breaking-change] cc #31645
(Only breaking because ast::TokenTree is now tokenstream::TokenTree.)

This pull request refactors TokenTrees into their own file as src/libsyntax/tokenstream.rs, moving them out of src/libsyntax/ast.rs, in order to prepare for an accompanying TokenStream implementation (per RFC 1566).
</content>
</entry>
<entry>
<title>Rollup merge of #34403 - jonathandturner:move_liberror, r=alexcrichton</title>
<updated>2016-06-25T22:35:09+00:00</updated>
<author>
<name>Jeffrey Seyfried</name>
<email>jeffrey.seyfried@gmail.com</email>
</author>
<published>2016-06-25T22:27:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d3ae56d755f912471e4c36982a069317842fa495'/>
<id>urn:sha1:d3ae56d755f912471e4c36982a069317842fa495</id>
<content type='text'>
This PR refactors the 'errors' part of libsyntax into its own crate (librustc_errors).  This is the first part of a few refactorings to simplify error reporting and potentially support more output formats (like a standardized JSON output and possibly an --explain mode that can work with the user's code), though this PR stands on its own and doesn't assume further changes.

As part of separating out the errors crate, I have also refactored the code position portion of codemap into its own crate (libsyntax_pos).  While it's helpful to have the common code positions in a separate crate for the new errors crate, this may also enable further simplifications in the future.
</content>
</entry>
<entry>
<title>Rollup merge of #34368 - petrochenkov:astqpath, r=Manishearth</title>
<updated>2016-06-25T22:35:06+00:00</updated>
<author>
<name>Jeffrey Seyfried</name>
<email>jeffrey.seyfried@gmail.com</email>
</author>
<published>2016-06-25T22:26:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4e2e31c11837f244e5039165b777ddedde5dc44d'/>
<id>urn:sha1:4e2e31c11837f244e5039165b777ddedde5dc44d</id>
<content type='text'>
The AST part of https://github.com/rust-lang/rust/pull/34365

plugin-[breaking-change] cc https://github.com/rust-lang/rust/issues/31645
</content>
</entry>
<entry>
<title>Rollup merge of #34213 - josephDunne:trait_item_macros, r=jseyfried</title>
<updated>2016-06-25T22:35:01+00:00</updated>
<author>
<name>Jeffrey Seyfried</name>
<email>jeffrey.seyfried@gmail.com</email>
</author>
<published>2016-06-25T22:05:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f0310e061b9d0a7d8dc515390fa68dfb6318df4b'/>
<id>urn:sha1:f0310e061b9d0a7d8dc515390fa68dfb6318df4b</id>
<content type='text'>
**syntax-[breaking-change]** cc #31645
New `TraitItemKind::Macro` variant

This change adds support for macro expansion inside trait items by adding the new `TraitItemKind::Macro` and associated parsing code.
</content>
</entry>
</feed>
