<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libsyntax/parse, branch 1.22.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.22.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.22.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2017-10-06T10:17:40+00:00</updated>
<entry>
<title>Add a semicolon to span for ast::Local</title>
<updated>2017-10-06T10:17:40+00:00</updated>
<author>
<name>Seiichi Uchida</name>
<email>seuchida@gmail.com</email>
</author>
<published>2017-10-06T10:16:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=14c6c119042d2cfbaea0e17e47d2c160261e73ab'/>
<id>urn:sha1:14c6c119042d2cfbaea0e17e47d2c160261e73ab</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename FileMap::path and change to an Option</title>
<updated>2017-10-03T09:47:33+00:00</updated>
<author>
<name>Philip Craig</name>
<email>philipjcraig@gmail.com</email>
</author>
<published>2017-10-03T09:44:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3a225c77bba8576333924e7435493cb4d4e0cbaf'/>
<id>urn:sha1:3a225c77bba8576333924e7435493cb4d4e0cbaf</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Don't use remapped path when loading modules and include files</title>
<updated>2017-09-30T06:32:45+00:00</updated>
<author>
<name>Philip Craig</name>
<email>philipjcraig@gmail.com</email>
</author>
<published>2017-09-30T06:28:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c27a82f19352f37a6b04d7733d28c84494c3afd4'/>
<id>urn:sha1:c27a82f19352f37a6b04d7733d28c84494c3afd4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #44709 - Badel2:inclusive-range-dotdoteq, r=petrochenkov</title>
<updated>2017-09-27T16:04:31+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2017-09-27T16:04:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0e6f4cf51cd3b799fb057956f8e733d16605d09b'/>
<id>urn:sha1:0e6f4cf51cd3b799fb057956f8e733d16605d09b</id>
<content type='text'>
Initial support for `..=` syntax

#28237

This PR adds `..=` as a synonym for `...` in patterns and expressions.
Since `...` in expressions was never stable, we now issue a warning.

cc @durka
r? @aturon
</content>
</entry>
<entry>
<title>Add information about the syntax used in ranges</title>
<updated>2017-09-22T20:05:18+00:00</updated>
<author>
<name>Badel2</name>
<email>2badel2@gmail.com</email>
</author>
<published>2017-09-21T10:13:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7aabf572789dcae24cc8ce247f7d86bcc5d49a17'/>
<id>urn:sha1:7aabf572789dcae24cc8ce247f7d86bcc5d49a17</id>
<content type='text'>
... or ..=
</content>
</entry>
<entry>
<title>Add support for `..=` syntax</title>
<updated>2017-09-22T20:05:18+00:00</updated>
<author>
<name>Alex Burka</name>
<email>alex@alexburka.com</email>
</author>
<published>2017-09-19T05:40:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e64efc91f49affb265328e354c8c8f0544daa462'/>
<id>urn:sha1:e64efc91f49affb265328e354c8c8f0544daa462</id>
<content type='text'>
Add ..= to the parser

Add ..= to libproc_macro

Add ..= to ICH

Highlight ..= in rustdoc

Update impl Debug for RangeInclusive to ..=

Replace `...` to `..=` in range docs

Make the dotdoteq warning point to the ...

Add warning for ... in expressions

Updated more tests to the ..= syntax

Updated even more tests to the ..= syntax

Updated the inclusive_range entry in unstable book
</content>
</entry>
<entry>
<title>Include unary operator to span for ExprKind::Unary</title>
<updated>2017-09-21T16:19:34+00:00</updated>
<author>
<name>Seiichi Uchida</name>
<email>seuchida@gmail.com</email>
</author>
<published>2017-09-21T16:19:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ded73a85e2dd258e81db19d9320f87e5389ae87a'/>
<id>urn:sha1:ded73a85e2dd258e81db19d9320f87e5389ae87a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rustc: Forbid interpolated tokens in the HIR</title>
<updated>2017-09-19T00:20:12+00:00</updated>
<author>
<name>Alex Crichton</name>
<email>alex@alexcrichton.com</email>
</author>
<published>2017-09-15T15:28:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0694e4fde4c4abd13dffa82a571c7a9559b19fb1'/>
<id>urn:sha1:0694e4fde4c4abd13dffa82a571c7a9559b19fb1</id>
<content type='text'>
Right now the HIR contains raw `syntax::ast::Attribute` structure but nowadays
these can contain arbitrary tokens. One variant of the `Token` enum is an
"interpolated" token which basically means to shove all the tokens for a
nonterminal in this position. A "nonterminal" in this case is roughly analagous
to a macro argument:

    macro_rules! foo {
        ($a:expr) =&gt; {
            // $a is a nonterminal as an expression
        }
    }

Currently nonterminals contain namely items and expressions, and this poses a
problem for incremental compilation! With incremental we want a stable hash of
all HIR items, but this means we may transitively need a stable hash *of the
entire AST*, which is certainly not stable w/ node ids and whatnot. Hence today
there's a "bug" where the "stable hash" of an AST is just the raw hash value of
the AST, and this only arises with interpolated nonterminals. The downside of
this approach, however, is that a bunch of errors get spewed out during
compilation about how this isn't a great idea.

This PR is focused at fixing these warnings, basically deleting them from the
compiler. The implementation here is to alter attributes as they're lowered from
the AST to HIR, expanding all nonterminals in-place as we see them. This code
for expanding a nonterminal to a token stream already exists for the
`proc_macro` crate, so we basically just reuse the same implementation there.

After this PR it's considered a bug to have an `Interpolated` token and hence
the stable hash implementation simply uses `bug!` in this location.

Closes #40946
</content>
</entry>
<entry>
<title>Remove rustc_bitflags; use the bitflags crate</title>
<updated>2017-09-17T18:19:24+00:00</updated>
<author>
<name>Tamir Duberstein</name>
<email>tamird@gmail.com</email>
</author>
<published>2017-09-08T19:08:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=231d9e7e5d87ed54015c22bb1a07d0f3d4c0befa'/>
<id>urn:sha1:231d9e7e5d87ed54015c22bb1a07d0f3d4c0befa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #44484 - tirr-c:issue-44332, r=petrochenkov</title>
<updated>2017-09-14T00:28:27+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2017-09-14T00:28:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d1ca653b170c235ad01a83d89fcb18b1f8b6a3b0'/>
<id>urn:sha1:d1ca653b170c235ad01a83d89fcb18b1f8b6a3b0</id>
<content type='text'>
Parse nested closure with two consecutive parameter lists properly

This is a followup of #44332.

---

Currently, in nightly, this does not compile:

```rust
fn main() {
    let f = |_||x, y| x+y;
    println!("{}", f(())(1, 2)); // should print 3
}
```

`|_||x, y| x+y` should be parsed as `|_| (|x, y| x+y)`, but the parser didn't accept `||` between `_` and `x`. This patch fixes the problem.

r? @petrochenkov
</content>
</entry>
</feed>
