<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_codegen_ssa/src/debuginfo, branch 1.77.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.77.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.77.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2023-12-26T04:25:53+00:00</updated>
<entry>
<title>Auto merge of #119258 - compiler-errors:closure-kind, r=eholk</title>
<updated>2023-12-26T04:25:53+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2023-12-26T04:25:53+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1ab783112ab4e4807304dbd249b39771246013ef'/>
<id>urn:sha1:1ab783112ab4e4807304dbd249b39771246013ef</id>
<content type='text'>
Make closures carry their own ClosureKind

Right now, we use the "`movability`" field of `hir::Closure` to distinguish a closure and a coroutine. This is paired together with the `CoroutineKind`, which is located not in the `hir::Closure`, but the `hir::Body`. This is strange and redundant.

This PR introduces `ClosureKind` with two variants -- `Closure` and `Coroutine`, which is put into `hir::Closure`. The `CoroutineKind` is thus removed from `hir::Body`, and `Option&lt;Movability&gt;` no longer needs to be a stand-in for "is this a closure or a coroutine".

r? eholk
</content>
</entry>
<entry>
<title>Only regular coroutines have movability</title>
<updated>2023-12-25T21:13:41+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2023-12-25T16:56:12+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3320c09eabb635fd6bf7a78a83a601a3d72193e8'/>
<id>urn:sha1:3320c09eabb635fd6bf7a78a83a601a3d72193e8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove `Session` methods that duplicate `DiagCtxt` methods.</title>
<updated>2023-12-23T21:05:28+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2023-12-18T11:21:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=99472c7049783605444ab888a97059d0cce93a12'/>
<id>urn:sha1:99472c7049783605444ab888a97059d0cce93a12</id>
<content type='text'>
Also add some `dcx` methods to types that wrap `TyCtxt`, for easier
access.
</content>
</entry>
<entry>
<title>Split coroutine desugaring kind from source</title>
<updated>2023-12-22T23:58:29+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2023-12-21T18:49:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=004450506e1302239fa9ea09d50d9dc5a3261a32'/>
<id>urn:sha1:004450506e1302239fa9ea09d50d9dc5a3261a32</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Implement `async gen` blocks</title>
<updated>2023-12-08T17:23:25+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2023-11-28T18:18:19+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=96bb542a3171a7cbf23cac45d4b9adc7b05b5317'/>
<id>urn:sha1:96bb542a3171a7cbf23cac45d4b9adc7b05b5317</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rustc: Harmonize `DefKind` and `DefPathData`</title>
<updated>2023-12-03T13:24:56+00:00</updated>
<author>
<name>Vadim Petrochenkov</name>
<email>vadim.petrochenkov@gmail.com</email>
</author>
<published>2023-12-03T09:29:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=17e799c2701be1f0f74ed79e6523e83abd051e89'/>
<id>urn:sha1:17e799c2701be1f0f74ed79e6523e83abd051e89</id>
<content type='text'>
`DefPathData::(ClosureExpr,ImplTrait)` are renamed to match `DefKind::(Closure,OpaqueTy)`.

`DefPathData::ImplTraitAssocTy` is replaced with `DefPathData::TypeNS(kw::Empty)` because both correspond to `DefKind::AssocTy`.
It's possible that introducing `(DefKind,DefPathData)::AssocOpaqueTy` could be a better solution, but that would be a much more invasive change.

Const generic parameters introduced for effects are moved from `DefPathData::TypeNS` to `DefPathData::ValueNS`, because constants are values.

`DefPathData` is no longer passed to `create_def` functions to avoid redundancy.
</content>
</entry>
<entry>
<title>Fix `clippy::needless_borrow` in the compiler</title>
<updated>2023-11-21T19:13:40+00:00</updated>
<author>
<name>Nilstrieb</name>
<email>48135649+Nilstrieb@users.noreply.github.com</email>
</author>
<published>2023-11-21T19:07:32+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=21a870515b18e5b2b90435d0f1a6d3089b5217ae'/>
<id>urn:sha1:21a870515b18e5b2b90435d0f1a6d3089b5217ae</id>
<content type='text'>
`x clippy compiler -Aclippy::all -Wclippy::needless_borrow --fix`.

Then I had to remove a few unnecessary parens and muts that were exposed
now.
</content>
</entry>
<entry>
<title>rename bound region instantiation</title>
<updated>2023-11-17T09:29:48+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2023-11-17T09:29:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=40b154e53c0e04ff4cfd40d43d8e2b86b143b763'/>
<id>urn:sha1:40b154e53c0e04ff4cfd40d43d8e2b86b143b763</id>
<content type='text'>
- `erase_late_bound_regions` -&gt; `instantiate_bound_regions_with_erased`
- `replace_late_bound_regions_X` -&gt; `instantiate_bound_regions_X`
</content>
</entry>
<entry>
<title>Add hir::GeneratorKind::Gen</title>
<updated>2023-10-26T07:10:25+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>git-spam-no-reply9815368754983@oli-obk.de</email>
</author>
<published>2023-10-20T19:21:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=14423080f1f9e9729d372f9b5da06c0ab4aef6e3'/>
<id>urn:sha1:14423080f1f9e9729d372f9b5da06c0ab4aef6e3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rename `AsyncCoroutineKind` to `CoroutineSource`</title>
<updated>2023-10-25T16:14:05+00:00</updated>
<author>
<name>Oli Scherer</name>
<email>git-spam-no-reply9815368754983@oli-obk.de</email>
</author>
<published>2023-10-23T17:02:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=af8a998b1ed2ed39f9c5514131f364f3fc163990'/>
<id>urn:sha1:af8a998b1ed2ed39f9c5514131f364f3fc163990</id>
<content type='text'>
similar to how we have `MatchSource`, it explains where the desugaring came from.
</content>
</entry>
</feed>
