<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_trait_selection/src/traits, branch 1.90.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.90.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.90.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2025-09-08T21:26:08+00:00</updated>
<entry>
<title>Only consider auto traits empty for the purposes of omitting vptrs from subtrait vtables</title>
<updated>2025-09-08T21:26:08+00:00</updated>
<author>
<name>Zachary S</name>
<email>zasample18+github@gmail.com</email>
</author>
<published>2025-08-24T01:48:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=40c7fe39b6bd5f3cd05d9b7af699e826845558b3'/>
<id>urn:sha1:40c7fe39b6bd5f3cd05d9b7af699e826845558b3</id>
<content type='text'>
(cherry picked from commit 904e83c53fece4a34c2e90bb44e362d8868d65f3)
</content>
</entry>
<entry>
<title>Revert "Remove the witness type from coroutine args"</title>
<updated>2025-08-14T14:21:56+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2025-08-14T14:21:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=82ed949d2c230409bd3d01eb3f03d831a7197b9c'/>
<id>urn:sha1:82ed949d2c230409bd3d01eb3f03d831a7197b9c</id>
<content type='text'>
This reverts commit e9765781b2857da90161157a3fc523f9e1d58848.
</content>
</entry>
<entry>
<title>Auto merge of #144458 - compiler-errors:no-witness-mini, r=lcnr</title>
<updated>2025-08-01T21:07:49+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-08-01T21:07:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=63f6845e570305a92eaf855897768617366164d6'/>
<id>urn:sha1:63f6845e570305a92eaf855897768617366164d6</id>
<content type='text'>
Remove the witness type from coroutine *args* (without actually removing the type)

This does as much of rust-lang/rust#144157 as we can without having to break rust-lang/rust#143545 and/or introduce some better way of handling higher ranked assumptions.

Namely, it:
* Stalls coroutines based off of the *coroutine* type rather than the witness type.
* Reworks the dtorck constraint hack to not rely on the witness type.
* Removes the witness type from the args of the coroutine, eagerly creating the type for nested obligations when needed (auto/clone impls).

I'll experiment with actually removing the witness type in a follow-up.

r? lcnr
</content>
</entry>
<entry>
<title>Auto merge of #144446 - nnethercote:opt-region-constraints, r=lcnr</title>
<updated>2025-08-01T04:06:21+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2025-08-01T04:06:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6c02dd4eae83befde07dc4782395e2005055e9fa'/>
<id>urn:sha1:6c02dd4eae83befde07dc4782395e2005055e9fa</id>
<content type='text'>
Optimize region constraints

r? `@lcnr`
</content>
</entry>
<entry>
<title>Remove the witness type from coroutine args</title>
<updated>2025-07-31T17:38:28+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2025-07-25T16:46:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e9765781b2857da90161157a3fc523f9e1d58848'/>
<id>urn:sha1:e9765781b2857da90161157a3fc523f9e1d58848</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Extract borrowck coroutine drop-liveness hack</title>
<updated>2025-07-31T17:38:28+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2025-07-18T19:47:08+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d05bb98d6bb448a221ed479842acda5923fb5eb1'/>
<id>urn:sha1:d05bb98d6bb448a221ed479842acda5923fb5eb1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Stall coroutines based off of ty::Coroutine, not ty::CoroutineWitness</title>
<updated>2025-07-31T17:31:51+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2025-07-18T18:17:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d525e79157e32abc510714dd32628c9c155f2997'/>
<id>urn:sha1:d525e79157e32abc510714dd32628c9c155f2997</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Overhaul `Constraint`.</title>
<updated>2025-07-31T10:04:51+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2025-07-25T10:34:36+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=066a973312066b792c5de4b41b92dcb437f22bac'/>
<id>urn:sha1:066a973312066b792c5de4b41b92dcb437f22bac</id>
<content type='text'>
This commit changes it to store a `Region` instead of a `RegionVid` for the `Var` cases:
- We avoid having to call `Region::new_var` to re-create `Region`s from
  `RegionVid`s in a few places, avoiding the interning process, giving a
  small perf win. (At the cost of the type allowing some invalid
  combinations of values.)
- All the cases now store two `Region`s, so the commit also separates
  the `ConstraintKind` (a new type) from the `sub` and `sup` arguments
  in `Constraint`.
</content>
</entry>
<entry>
<title>Remove `ParamEnvAnd::into_parts`.</title>
<updated>2025-07-31T05:17:20+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2025-07-30T23:02:15+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=a949c47f0d3c0fb0b444c25cb2eb3323fcc845e6'/>
<id>urn:sha1:a949c47f0d3c0fb0b444c25cb2eb3323fcc845e6</id>
<content type='text'>
The fields are public, so this doesn't need a method, normal
deconstruction and/or field access is good enough.
</content>
</entry>
<entry>
<title>Move `ImplHeader` out of `rustc_middle`.</title>
<updated>2025-07-31T01:50:36+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2025-07-29T22:46:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=790ab947989cd0a2161a4e3b281ada90734dd134'/>
<id>urn:sha1:790ab947989cd0a2161a4e3b281ada90734dd134</id>
<content type='text'>
It's not used in `rustc_middle`, and `rustc_trait_selection` is a better
place for it.
</content>
</entry>
</feed>
