<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_parse/src/parser, branch 1.64.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.64.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.64.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2022-08-15T07:05:24+00:00</updated>
<entry>
<title>Revert let_chains stabilization</title>
<updated>2022-08-15T07:05:24+00:00</updated>
<author>
<name>Nilstrieb</name>
<email>48135649+Nilstrieb@users.noreply.github.com</email>
</author>
<published>2022-08-14T19:41:10+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=11a367a7c0cf5aa556dba91228f0f1fe48727d7a'/>
<id>urn:sha1:11a367a7c0cf5aa556dba91228f0f1fe48727d7a</id>
<content type='text'>
This reverts commit 326646074940222d602f3683d0559088690830f4.

It was discovered that they are not implemented correctly, which
does not make them ready for stabilization.
</content>
</entry>
<entry>
<title>Rollup merge of #98796 - compiler-errors:no-semi-if-comma, r=estebank</title>
<updated>2022-08-04T20:24:59+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2022-08-04T20:24:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f6ea143f939934e2c3a6068feff4bd066cc19ff4'/>
<id>urn:sha1:f6ea143f939934e2c3a6068feff4bd066cc19ff4</id>
<content type='text'>
Do not exclusively suggest `;` when `,` is also a choice

Fixes #96791
</content>
</entry>
<entry>
<title>Rollup merge of #99786 - obeis:issue-99625, r=compiler-errors</title>
<updated>2022-08-03T20:29:29+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2022-08-03T20:29:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9c18fdc71f867d7a9269051867bd73983f80d4be'/>
<id>urn:sha1:9c18fdc71f867d7a9269051867bd73983f80d4be</id>
<content type='text'>
Recover from C++ style `enum struct`

Closes #99625
</content>
</entry>
<entry>
<title>Rollup merge of #100011 - compiler-errors:let-chain-restriction, r=fee1-dead</title>
<updated>2022-08-02T05:30:44+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2022-08-02T05:30:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=beb4cdddde0421710d548da5a847efec0d515343'/>
<id>urn:sha1:beb4cdddde0421710d548da5a847efec0d515343</id>
<content type='text'>
Use Parser's `restrictions` instead of `let_expr_allowed`

This also means that the `ALLOW_LET` flag is reset properly for subexpressions, so we can properly deny things like `a &amp;&amp; (b &amp;&amp; let c = d)`. Also the parser is a tiny bit smaller now.

It doesn't reject _all_ bad `let` expr usages, just a bit more.

cc `@c410-f3r`
</content>
</entry>
<entry>
<title>Use expr parse restrictions for let expr parsing</title>
<updated>2022-08-01T01:13:16+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2022-08-01T01:13:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6be7a87f9ccc4ead6887d2cc7231f44df3673681'/>
<id>urn:sha1:6be7a87f9ccc4ead6887d2cc7231f44df3673681</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #99948 - Dylan-DPC:rollup-ed5136t, r=Dylan-DPC</title>
<updated>2022-07-30T17:30:50+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2022-07-30T17:30:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=038f9e6bef9c8fcf122d93a8a33ac546f5606eb3'/>
<id>urn:sha1:038f9e6bef9c8fcf122d93a8a33ac546f5606eb3</id>
<content type='text'>
Rollup of 5 pull requests

Successful merges:

 - #99311 (change maybe_body_owned_by to take local def id)
 - #99862 (Improve type mismatch w/ function signatures)
 - #99895 (don't call type ascription "cast")
 - #99900 (remove some manual hash stable impls)
 - #99903 (Add diagnostic when using public instead of pub)

Failed merges:

r? `@ghost`
`@rustbot` modify labels: rollup
</content>
</entry>
<entry>
<title>Rollup merge of #99903 - gimbles:pub, r=davidtwco</title>
<updated>2022-07-30T15:09:50+00:00</updated>
<author>
<name>Dylan DPC</name>
<email>99973273+Dylan-DPC@users.noreply.github.com</email>
</author>
<published>2022-07-30T15:09:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=df2cf97830dde8f563b898820ffbba200253326b'/>
<id>urn:sha1:df2cf97830dde8f563b898820ffbba200253326b</id>
<content type='text'>
Add diagnostic when using public instead of pub

Forwarding from https://github.com/rust-lang/rust/pull/99706

I accidentally broke something(??) in git and the commits in that PR are absolutely not what I did in that branch

Anyways, this is the PR for this now. Adding tests again in a minute.

cc `@davidtwco`
</content>
</entry>
<entry>
<title>Auto merge of #99887 - nnethercote:rm-TreeAndSpacing, r=petrochenkov</title>
<updated>2022-07-30T14:50:05+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2022-07-30T14:50:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1202bbaf48a0a919a2e0cfd8b7dce97e8fc3030d'/>
<id>urn:sha1:1202bbaf48a0a919a2e0cfd8b7dce97e8fc3030d</id>
<content type='text'>
Remove `TreeAndSpacing`.

A `TokenStream` contains a `Lrc&lt;Vec&lt;(TokenTree, Spacing)&gt;&gt;`. But this is
not quite right. `Spacing` makes sense for `TokenTree::Token`, but does
not make sense for `TokenTree::Delimited`, because a
`TokenTree::Delimited` cannot be joined with another `TokenTree`.

This commit fixes this problem, by adding `Spacing` to `TokenTree::Token`,
changing `TokenStream` to contain a `Lrc&lt;Vec&lt;TokenTree&gt;&gt;`, and removing the
`TreeAndSpacing` typedef.

The commit removes these two impls:
- `impl From&lt;TokenTree&gt; for TokenStream`
- `impl From&lt;TokenTree&gt; for TreeAndSpacing`

These were useful, but also resulted in code with many `.into()` calls
that was hard to read, particularly for anyone not highly familiar with
the relevant types. This commit makes some other changes to compensate:
- `TokenTree::token()` becomes `TokenTree::token_{alone,joint}()`.
- `TokenStream::token_{alone,joint}()` are added.
- `TokenStream::delimited` is added.

This results in things like this:
```rust
TokenTree::token(token::Semi, stmt.span).into()
```
changing to this:
```rust
TokenStream::token_alone(token::Semi, stmt.span)
```
This makes the type of the result, and its spacing, clearer.

These changes also simplifies `Cursor` and `CursorRef`, because they no longer
need to distinguish between `next` and `next_with_spacing`.

r? `@petrochenkov`
</content>
</entry>
<entry>
<title>Add diagnostic when using public instead of pub</title>
<updated>2022-07-29T13:51:30+00:00</updated>
<author>
<name>Gimgim</name>
<email>93856041+gimbles@users.noreply.github.com</email>
</author>
<published>2022-07-29T13:51:30+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d0e881eefe871d807fd7527a1366154f1712ada1'/>
<id>urn:sha1:d0e881eefe871d807fd7527a1366154f1712ada1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Recover from c++ style `enum struct`</title>
<updated>2022-07-29T10:56:54+00:00</updated>
<author>
<name>Obei Sideg</name>
<email>obei.sideg@gmail.com</email>
</author>
<published>2022-07-26T23:07:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=254b89d209eccf4b5a5fd835db1089e1a814eef9'/>
<id>urn:sha1:254b89d209eccf4b5a5fd835db1089e1a814eef9</id>
<content type='text'>
new error message: `enum` and `struct` are mutually exclusive
new suggestion: replace `enum struct` with `enum`
</content>
</entry>
</feed>
