<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_parse/src/parser/attr_wrapper.rs, branch 1.66.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.66.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.66.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2022-10-20T12:16:27+00:00</updated>
<entry>
<title>fix assertion failed for break_last_token and trailing token</title>
<updated>2022-10-20T12:16:27+00:00</updated>
<author>
<name>yukang</name>
<email>moorekang@gmail.com</email>
</author>
<published>2022-10-20T11:40:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=241435737451c521a78faab31c54457b1cb97413'/>
<id>urn:sha1:241435737451c521a78faab31c54457b1cb97413</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use `tidy-alphabetical` in the compiler</title>
<updated>2022-10-12T12:19:10+00:00</updated>
<author>
<name>Nilstrieb</name>
<email>48135649+Nilstrieb@users.noreply.github.com</email>
</author>
<published>2022-10-05T19:46:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7bfef19844f20514cda40437847880ec8a663926'/>
<id>urn:sha1:7bfef19844f20514cda40437847880ec8a663926</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Group together more size assertions.</title>
<updated>2022-09-30T21:30:23+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2022-09-29T23:23:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5ab68a82d592c43f7699d739003a4a7680f35e8f'/>
<id>urn:sha1:5ab68a82d592c43f7699d739003a4a7680f35e8f</id>
<content type='text'>
Also add a few more assertions for some relevant token-related types.

And fix an erroneous comment in `rustc_errors`.
</content>
</entry>
<entry>
<title>Emit an error instead of reconstructing token stream.</title>
<updated>2022-09-13T17:47:50+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2022-08-08T17:17:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cb5ea8d0b67e4a46f9f30aa93107035d9a1dadf0'/>
<id>urn:sha1:cb5ea8d0b67e4a46f9f30aa93107035d9a1dadf0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Manually cleanup token stream when macro expansion aborts.</title>
<updated>2022-09-13T17:46:01+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2022-08-07T22:05:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=8823634db8c4ee65b4a3d47ccb1d81891e33d0de'/>
<id>urn:sha1:8823634db8c4ee65b4a3d47ccb1d81891e33d0de</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename `{Create,Lazy}TokenStream` as `{To,Lazy}AttrTokenStream`.</title>
<updated>2022-09-09T07:25:38+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2022-09-09T07:15:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d2df07c425f9b390c33e0ac31674ce4794352b3a'/>
<id>urn:sha1:d2df07c425f9b390c33e0ac31674ce4794352b3a</id>
<content type='text'>
`To` is better than `Create` for indicating that this is a non-consuming
conversion, rather than creating something out of nothing.

And the addition of `Attr` is because the current names makes them sound
like they relate to `TokenStream`, but really they relate to
`AttrTokenStream`.
</content>
</entry>
<entry>
<title>Rename `AttrAnnotatedToken{Stream,Tree}`.</title>
<updated>2022-09-09T02:45:26+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2022-09-09T02:44:05+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a56d345490ed68ab57cf1854dd8978fefc9862d0'/>
<id>urn:sha1:a56d345490ed68ab57cf1854dd8978fefc9862d0</id>
<content type='text'>
These two type names are long and have long matching prefixes. I find
them hard to read, especially in combinations like
`AttrAnnotatedTokenStream::new(vec![AttrAnnotatedTokenTree::Token(..)])`.

This commit renames them as `AttrToken{Stream,Tree}`.
</content>
</entry>
<entry>
<title>Move `Spacing` out of `AttrAnnotatedTokenStream`.</title>
<updated>2022-09-09T02:00:46+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2022-09-09T01:51:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=890e759ffcf61a2c66f722bb448432b9a78fdaaf'/>
<id>urn:sha1:890e759ffcf61a2c66f722bb448432b9a78fdaaf</id>
<content type='text'>
And into `AttrAnnotatedTokenTree::Token`.

PR #99887 did the same thing for `TokenStream`.
</content>
</entry>
<entry>
<title>remove redundant clones</title>
<updated>2022-09-03T05:58:41+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2022-09-03T05:58:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=57198b549f20a63650113b11b806f535a9d35fbb'/>
<id>urn:sha1:57198b549f20a63650113b11b806f535a9d35fbb</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #100869 - nnethercote:replace-ThinVec, r=spastorino</title>
<updated>2022-09-01T08:01:06+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2022-09-01T08:01:06+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=eac6c33bc6338f40e66975dd6f65dab27765067b'/>
<id>urn:sha1:eac6c33bc6338f40e66975dd6f65dab27765067b</id>
<content type='text'>
Replace `rustc_data_structures::thin_vec::ThinVec` with `thin_vec::ThinVec`

`rustc_data_structures::thin_vec::ThinVec` looks like this:
```
pub struct ThinVec&lt;T&gt;(Option&lt;Box&lt;Vec&lt;T&gt;&gt;&gt;);
```
It's just a zero word if the vector is empty, but requires two
allocations if it is non-empty. So it's only usable in cases where the
vector is empty most of the time.

This commit removes it in favour of `thin_vec::ThinVec`, which is also
word-sized, but stores the length and capacity in the same allocation as
the elements. It's good in a wider variety of situation, e.g. in enum
variants where the vector is usually/always non-empty.

The commit also:
- Sorts some `Cargo.toml` dependency lists, to make additions easier.
- Sorts some `use` item lists, to make additions easier.
- Changes `clean_trait_ref_with_bindings` to take a
  `ThinVec&lt;TypeBinding&gt;` rather than a `&amp;[TypeBinding]`, because this
  avoid some unnecessary allocations.

r? `@spastorino`
</content>
</entry>
</feed>
