<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_parse/src/parser, branch 1.84.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.84.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.84.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2024-11-20T21:22:17+00:00</updated>
<entry>
<title>Remove `ErrorGuaranteed` retval from `error_unexpected_after_dot`.</title>
<updated>2024-11-20T21:22:17+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-09-20T03:02:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=03159d4bff6de12f26daee0f6c6890e71407a389'/>
<id>urn:sha1:03159d4bff6de12f26daee0f6c6890e71407a389</id>
<content type='text'>
It was added in #130349, but it's not used meaningfully, and causes
difficulties for Nonterminal removal in #124141.
</content>
</entry>
<entry>
<title>Prepare for invisible delimiters.</title>
<updated>2024-11-20T21:22:11+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-04-16T23:37:00+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cee88f7a3f1c5bc284d0c6a87fb1d5535ebb3af8'/>
<id>urn:sha1:cee88f7a3f1c5bc284d0c6a87fb1d5535ebb3af8</id>
<content type='text'>
Current places where `Interpolated` is used are going to change to
instead use invisible delimiters. This prepares for that.
- It adds invisible delimiter cases to the `can_begin_*`/`may_be_*`
  methods and the `failed_to_match_macro` that are equivalent to the
  existing `Interpolated` cases.
- It adds panics/asserts in some places where invisible delimiters
  should never occur.
- In `Parser::parse_struct_fields` it excludes an ident + invisible
  delimiter from special consideration in an error message, because
  that's quite different to an ident + paren/brace/bracket.
</content>
</entry>
<entry>
<title>Add metavariables to `TokenDescription`.</title>
<updated>2024-11-20T21:16:55+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-04-17T22:58:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cfafa9380b446b74708986a344172ec48e295740'/>
<id>urn:sha1:cfafa9380b446b74708986a344172ec48e295740</id>
<content type='text'>
Pasted metavariables are wrapped in invisible delimiters, which
pretty-print as empty strings, and changing that can break some proc
macros. But error messages saying "expected identifer, found ``" are
bad. So this commit adds support for metavariables in `TokenDescription`
so they print as "metavariable" in error messages, instead of "``".

It's not used meaningfully yet, but will be needed to get rid of
interpolated tokens.
</content>
</entry>
<entry>
<title>Introduce `InvisibleOrigin` on invisible delimiters.</title>
<updated>2024-11-20T21:16:54+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-04-16T23:59:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=afe238f66fc9348b8c4a1daacefb93c0ec36296a'/>
<id>urn:sha1:afe238f66fc9348b8c4a1daacefb93c0ec36296a</id>
<content type='text'>
It's not used meaningfully yet, but will be needed to get rid of
interpolated tokens.
</content>
</entry>
<entry>
<title>Auto merge of #132761 - nnethercote:resolve-tweaks, r=petrochenkov</title>
<updated>2024-11-19T19:54:35+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2024-11-19T19:54:35+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ee612c45f00391aff71ec0c52b7fc08fae18c711'/>
<id>urn:sha1:ee612c45f00391aff71ec0c52b7fc08fae18c711</id>
<content type='text'>
Resolve tweaks

A couple of small perf improvements, and some minor refactorings, all in `rustc_resolve`.

r? `@petrochenkov`
</content>
</entry>
<entry>
<title>Diagnostics for let mut in item context</title>
<updated>2024-11-17T22:30:11+00:00</updated>
<author>
<name>Kornel</name>
<email>kornel@geekhood.net</email>
</author>
<published>2024-11-17T21:43:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7765f23ea14d16fb0182b475a0ec96891058ae24'/>
<id>urn:sha1:7765f23ea14d16fb0182b475a0ec96891058ae24</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #133060 - tyrone-wu:removelet-span-suggestion, r=jieyouxu</title>
<updated>2024-11-17T15:56:09+00:00</updated>
<author>
<name>许杰友 Jieyou Xu (Joe)</name>
<email>39484203+jieyouxu@users.noreply.github.com</email>
</author>
<published>2024-11-17T15:56:09+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0b157e88d7cf021c0ac537c4618b873f962772ac'/>
<id>urn:sha1:0b157e88d7cf021c0ac537c4618b873f962772ac</id>
<content type='text'>
Trim whitespace in RemoveLet primary span

Separate `RemoveLet` span into primary span for `let` and removal suggestion span for `let `, so that primary span does not include whitespace.

Fixes: #133031
</content>
</entry>
<entry>
<title>review comment: move logic to new method</title>
<updated>2024-11-16T20:03:31+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2024-11-16T20:02:27+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6913194b8ea47ebe8e65b627e83f029d0968d8f8'/>
<id>urn:sha1:6913194b8ea47ebe8e65b627e83f029d0968d8f8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reword suggestion message</title>
<updated>2024-11-16T20:03:31+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2024-11-16T00:22:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c09c73b99622905e8df074b81377c9ca82467dce'/>
<id>urn:sha1:c09c73b99622905e8df074b81377c9ca82467dce</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Better account for `else if` macro conditions mising an `if`</title>
<updated>2024-11-16T20:03:31+00:00</updated>
<author>
<name>Esteban Küber</name>
<email>esteban@kuber.com.ar</email>
</author>
<published>2024-11-14T20:39:25+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=629a69f3e2728251774f825ff54cb642b38249df'/>
<id>urn:sha1:629a69f3e2728251774f825ff54cb642b38249df</id>
<content type='text'>
If a macro statement has been parsed after `else`, suggest a missing `if`:

```
error: expected `{`, found `falsy`
  --&gt; $DIR/else-no-if.rs:47:12
   |
LL |     } else falsy! {} {
   |       ---- ^^^^^
   |       |
   |       expected an `if` or a block after this `else`
   |
help: add an `if` if this is the condition of a chained `else if` statement
   |
LL |     } else if falsy! {} {
   |            ++
```
</content>
</entry>
</feed>
