<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/libsyntax/parse/parser/item.rs, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2019-11-10T02:57:18+00:00</updated>
<entry>
<title>move syntax::parse -&gt; librustc_parse</title>
<updated>2019-11-10T02:57:18+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-10-15T20:48:13+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4ae2728fa8052915414127dce28245eb8f70842a'/>
<id>urn:sha1:4ae2728fa8052915414127dce28245eb8f70842a</id>
<content type='text'>
also move MACRO_ARGUMENTS -&gt; librustc_parse
</content>
</entry>
<entry>
<title>ast::ItemKind::Fn: use ast::FnSig</title>
<updated>2019-11-08T08:32:20+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-11-07T12:33:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b4c6abcf9e6c1d2710e7ad6a9ce44b3ca6b10d52'/>
<id>urn:sha1:b4c6abcf9e6c1d2710e7ad6a9ce44b3ca6b10d52</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ast::MethodSig -&gt; ast::FnSig</title>
<updated>2019-11-08T08:32:20+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-11-07T12:11:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2cd48e8a3b71256d7db1ac61e8994c06620238b6'/>
<id>urn:sha1:2cd48e8a3b71256d7db1ac61e8994c06620238b6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>move PResult to librustc_errors</title>
<updated>2019-11-07T12:58:36+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-10-11T11:06:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3667e6248ec18740ce57db7997333a30c991929b'/>
<id>urn:sha1:3667e6248ec18740ce57db7997333a30c991929b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #65974 - Centril:matcher-friendly-gating, r=petrochenkov</title>
<updated>2019-11-07T07:51:57+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-11-07T07:51:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e19cb40fda70ea3f75bc1927c114ea53d231b288'/>
<id>urn:sha1:e19cb40fda70ea3f75bc1927c114ea53d231b288</id>
<content type='text'>
A scheme for more macro-matcher friendly pre-expansion gating

Pre-expansion gating will now avoid gating macro matchers that did not result in `Success(...)`. That is, the following is now OK despite `box 42` being a valid `expr` and that form being pre-expansion gated:

```rust
macro_rules! m {
    ($e:expr) =&gt; { 0 }; // This fails on the input below due to `, foo`.
    (box $e:expr, foo) =&gt; { 1 }; // Successful matcher, we should get `2`.
}

fn main() {
    assert_eq!(1, m!(box 42, foo));
}
```

Closes https://github.com/rust-lang/rust/issues/65846.

r? @petrochenkov
cc @Mark-Simulacrum
</content>
</entry>
<entry>
<title>parser: allow ABIs from literal macro fragments</title>
<updated>2019-11-07T04:25:31+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-10-27T23:29:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1db4d607e7621a7d813743e83125859a47970f79'/>
<id>urn:sha1:1db4d607e7621a7d813743e83125859a47970f79</id>
<content type='text'>
</content>
</entry>
<entry>
<title>parser: don't hardcode ABIs into grammar</title>
<updated>2019-11-07T04:25:31+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-10-27T22:14:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=beddf67a4b1ce5f1e14a67690644690c4b1bcfaa'/>
<id>urn:sha1:beddf67a4b1ce5f1e14a67690644690c4b1bcfaa</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Make doc comments cheaper with `AttrKind`.</title>
<updated>2019-11-06T12:05:07+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>nnethercote@mozilla.com</email>
</author>
<published>2019-10-23T19:33:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eea6f23a0ed67fd8c6b8e1b02cda3628fee56b2f'/>
<id>urn:sha1:eea6f23a0ed67fd8c6b8e1b02cda3628fee56b2f</id>
<content type='text'>
`AttrKind` is a new type with two variants, `Normal` and `DocComment`. It's a
big performance win (over 10% in some cases) because `DocComment` lets doc
comments (which are common) be represented very cheaply.

`Attribute` gets some new helper methods to ease the transition:
- `has_name()`: check if the attribute name matches a single `Symbol`; for
  `DocComment` variants it succeeds if the symbol is `sym::doc`.
- `is_doc_comment()`: check if it has a `DocComment` kind.
- `{get,unwrap}_normal_item()`: extract the item from a `Normal` variant;
  panic otherwise.

Fixes #60935.
</content>
</entry>
<entry>
<title>revamp pre-expansion gating infra</title>
<updated>2019-11-06T11:30:08+00:00</updated>
<author>
<name>Mazdak Farrokhzad</name>
<email>twingoow@gmail.com</email>
</author>
<published>2019-10-30T15:38:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fe95cd2f4b3a722e023dc7bba8ff65136be441ca'/>
<id>urn:sha1:fe95cd2f4b3a722e023dc7bba8ff65136be441ca</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reduce ammount of errors given unclosed delimiter</title>
<updated>2019-10-30T19:05:17+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2019-10-26T01:30:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=053a09529a41931a217daecbe879b88386101249'/>
<id>urn:sha1:053a09529a41931a217daecbe879b88386101249</id>
<content type='text'>
When in a file with a non-terminated item, catch the error and consume
the block instead of trying to recover it more granularly in order to
reduce the amount of unrelated errors that would be fixed after adding
the missing closing brace. Also point out the possible location of the
missing closing brace.
</content>
</entry>
</feed>
