<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_mir_transform/src/generator.rs, branch 1.71.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.71.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.71.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2023-05-25T17:40:46+00:00</updated>
<entry>
<title>Remove DesugaringKind::Replace.</title>
<updated>2023-05-25T17:40:46+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2023-05-25T17:30:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=844c1cc5fec38f691a2ffb53ef3366f25cf7b02b'/>
<id>urn:sha1:844c1cc5fec38f691a2ffb53ef3366f25cf7b02b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Handle error body when in generator layout</title>
<updated>2023-05-13T15:45:19+00:00</updated>
<author>
<name>clubby789</name>
<email>jamie@hill-daniel.co.uk</email>
</author>
<published>2023-05-13T12:19:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f77971e221d4726520b18217eb2acb291fb74ce9'/>
<id>urn:sha1:f77971e221d4726520b18217eb2acb291fb74ce9</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #111004 - clubby789:migrate-mir-transform, r=oli-obk</title>
<updated>2023-05-08T16:30:22+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2023-05-08T16:30:22+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=68594142b112305d3a19e425724405802efd7806'/>
<id>urn:sha1:68594142b112305d3a19e425724405802efd7806</id>
<content type='text'>
Migrate `mir_transform` to translatable diagnostics

cc #100717
</content>
</entry>
<entry>
<title>Restrict `From&lt;S&gt;` for `{D,Subd}iagnosticMessage`.</title>
<updated>2023-05-02T22:44:39+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2023-04-20T03:26:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6b62f37402cb2990c7d350379238579af0360b10'/>
<id>urn:sha1:6b62f37402cb2990c7d350379238579af0360b10</id>
<content type='text'>
Currently a `{D,Subd}iagnosticMessage` can be created from any type that
impls `Into&lt;String&gt;`. That includes `&amp;str`, `String`, and `Cow&lt;'static,
str&gt;`, which are reasonable. It also includes `&amp;String`, which is pretty
weird, and results in many places making unnecessary allocations for
patterns like this:
```
self.fatal(&amp;format!(...))
```
This creates a string with `format!`, takes a reference, passes the
reference to `fatal`, which does an `into()`, which clones the
reference, doing a second allocation. Two allocations for a single
string, bleh.

This commit changes the `From` impls so that you can only create a
`{D,Subd}iagnosticMessage` from `&amp;str`, `String`, or `Cow&lt;'static,
str&gt;`. This requires changing all the places that currently create one
from a `&amp;String`. Most of these are of the `&amp;format!(...)` form
described above; each one removes an unnecessary static `&amp;`, plus an
allocation when executed. There are also a few places where the existing
use of `&amp;String` was more reasonable; these now just use `clone()` at
the call site.

As well as making the code nicer and more efficient, this is a step
towards possibly using `Cow&lt;'static, str&gt;` in
`{D,Subd}iagnosticMessage::{Str,Eager}`. That would require changing
the `From&lt;&amp;'a str&gt;` impls to `From&lt;&amp;'static str&gt;`, which is doable, but
I'm not yet sure if it's worthwhile.
</content>
</entry>
<entry>
<title>Migrate `mir_transform` to translatable diagnostics</title>
<updated>2023-05-02T15:24:18+00:00</updated>
<author>
<name>clubby789</name>
<email>jamie@hill-daniel.co.uk</email>
</author>
<published>2023-04-30T01:20:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d5bc581f5db6ba5198ccec45d938422778f56bff'/>
<id>urn:sha1:d5bc581f5db6ba5198ccec45d938422778f56bff</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Box AssertKind</title>
<updated>2023-05-02T03:12:41+00:00</updated>
<author>
<name>Ben Kimock</name>
<email>kimockb@gmail.com</email>
</author>
<published>2023-05-01T22:30:54+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f08f903fa9866c6235714c6b0d7b1a33c7671a48'/>
<id>urn:sha1:f08f903fa9866c6235714c6b0d7b1a33c7671a48</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #110556 - kylematsuda:earlybinder-explicit-item-bounds, r=compiler-errors</title>
<updated>2023-04-25T19:06:32+00:00</updated>
<author>
<name>Matthias Krüger</name>
<email>matthias.krueger@famsik.de</email>
</author>
<published>2023-04-25T19:06:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=297b2220667a6fb042abd412cdf51cf3fd9fce55'/>
<id>urn:sha1:297b2220667a6fb042abd412cdf51cf3fd9fce55</id>
<content type='text'>
Switch to `EarlyBinder` for `explicit_item_bounds`

Part of the work to finish https://github.com/rust-lang/rust/issues/105779.

This PR adds `EarlyBinder` to the return type of the `explicit_item_bounds` query and removes `bound_explicit_item_bounds`.

r? `@compiler-errors` (hope it's okay to request you, since you reviewed #110299 and #110498 :smiley:)
</content>
</entry>
<entry>
<title>Split `{Idx, IndexVec, IndexSlice}` into their own modules</title>
<updated>2023-04-24T13:53:35+00:00</updated>
<author>
<name>Maybe Waffle</name>
<email>waffle.lapkin@gmail.com</email>
</author>
<published>2023-04-19T10:57:17+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e496fbec922b22d9b506ba55386c482b4bf06378'/>
<id>urn:sha1:e496fbec922b22d9b506ba55386c482b4bf06378</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Changes from review</title>
<updated>2023-04-21T15:57:37+00:00</updated>
<author>
<name>Kyle Matsuda</name>
<email>kyle.yoshio.matsuda@gmail.com</email>
</author>
<published>2023-04-20T18:33:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5a69b5d0f9753a7e780849ec930b1bb48653588b'/>
<id>urn:sha1:5a69b5d0f9753a7e780849ec930b1bb48653588b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add subst_identity_iter and subst_identity_iter_copied methods on EarlyBinder; use this to simplify some EarlyBinder noise around explicit_item_bounds calls</title>
<updated>2023-04-20T18:36:50+00:00</updated>
<author>
<name>Kyle Matsuda</name>
<email>kyle.yoshio.matsuda@gmail.com</email>
</author>
<published>2023-04-17T23:19:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e54854f6a93f4121ac55d895830414d33bd3aa8e'/>
<id>urn:sha1:e54854f6a93f4121ac55d895830414d33bd3aa8e</id>
<content type='text'>
</content>
</entry>
</feed>
