<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_trait_selection/src/traits/engine.rs, branch 1.84.1</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.84.1</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.84.1'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2024-10-19T18:07:35+00:00</updated>
<entry>
<title>Fix transmute goal</title>
<updated>2024-10-19T18:07:35+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-09-27T18:24:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9453d2cfebfbfb58753c8afef1df3686ae8c6197'/>
<id>urn:sha1:9453d2cfebfbfb58753c8afef1df3686ae8c6197</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #131422 - GnomedDev:smallvec-predicate-obligations, r=compiler-errors</title>
<updated>2024-10-16T04:06:14+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2024-10-16T04:06:14+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=9618da7c9995a673af4841149ba2d1f53b69dd92'/>
<id>urn:sha1:9618da7c9995a673af4841149ba2d1f53b69dd92</id>
<content type='text'>
Use `ThinVec` for PredicateObligation storage

~~I noticed while profiling clippy on a project that a large amount of time is being spent allocating `Vec`s for `PredicateObligation`, and the `Vec`s are often quite small. This is an attempt to optimise this by using SmallVec to avoid heap allocations for these common small Vecs.~~

This PR turns all the `Vec&lt;PredicateObligation&gt;` into a single type alias while avoiding referring to `Vec` around it, then swaps the type over to `ThinVec&lt;PredicateObligation&gt;` and fixes the fallout. This also contains an implementation of `ThinVec::extract_if`, copied from `Vec::extract_if` and currently being upstreamed to https://github.com/Gankra/thin-vec/pull/66.

This leads to a small (0.2-0.7%) performance gain in the latest perf run.
</content>
</entry>
<entry>
<title>stabilize `-Znext-solver=coherence`</title>
<updated>2024-10-15T11:11:00+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2024-09-21T07:02:51+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1a9d2d82a5ee24d05dac2287b87ffd96f77d6d77'/>
<id>urn:sha1:1a9d2d82a5ee24d05dac2287b87ffd96f77d6d77</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Swap Vec&lt;PredicateObligation&gt; to type alias</title>
<updated>2024-10-12T14:17:08+00:00</updated>
<author>
<name>GnomedDev</name>
<email>david2005thomas@gmail.com</email>
</author>
<published>2024-10-09T00:02:55+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7ec06b0d1d08cbcc6ed2f7e6ae87fe18056f69ef'/>
<id>urn:sha1:7ec06b0d1d08cbcc6ed2f7e6ae87fe18056f69ef</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Extract trait_refs_are_compatible, make it instantiate binders</title>
<updated>2024-09-30T17:17:33+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-09-30T17:14:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d87e0ca497e70fe1c3112de0dce87fbd777f6451'/>
<id>urn:sha1:d87e0ca497e70fe1c3112de0dce87fbd777f6451</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Revert 'Stabilize -Znext-solver=coherence'</title>
<updated>2024-09-11T21:57:04+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-09-11T21:57:04+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e866f8a97d1f08e8a187323a1a5838f88fe33d81'/>
<id>urn:sha1:e866f8a97d1f08e8a187323a1a5838f88fe33d81</id>
<content type='text'>
</content>
</entry>
<entry>
<title>stabilize `-Znext-solver=coherence`</title>
<updated>2024-09-05T07:57:16+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2024-03-01T11:33:42+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1a893ac648e03732aaa8b5371b602ab683970b0d'/>
<id>urn:sha1:1a893ac648e03732aaa8b5371b602ab683970b0d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Reformat `use` declarations.</title>
<updated>2024-07-28T22:26:52+00:00</updated>
<author>
<name>Nicholas Nethercote</name>
<email>n.nethercote@gmail.com</email>
</author>
<published>2024-07-28T22:13:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=84ac80f1921afc243d71fd0caaa4f2838c294102'/>
<id>urn:sha1:84ac80f1921afc243d71fd0caaa4f2838c294102</id>
<content type='text'>
The previous commit updated `rustfmt.toml` appropriately. This commit is
the outcome of running `x fmt --all` with the new formatting options.
</content>
</entry>
<entry>
<title>Move all error reporting into rustc_trait_selection</title>
<updated>2024-07-22T02:34:35+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-07-21T19:20:41+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ce8a625092fa48c2be475f659aa2a91b5591108f'/>
<id>urn:sha1:ce8a625092fa48c2be475f659aa2a91b5591108f</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move trait selection error reporting to its own top-level module</title>
<updated>2024-07-08T20:04:47+00:00</updated>
<author>
<name>Michael Goulet</name>
<email>michael@errs.io</email>
</author>
<published>2024-07-08T19:36:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fe4c995ccb292f5b8fdaba0bfc5f58c6ee8e7fed'/>
<id>urn:sha1:fe4c995ccb292f5b8fdaba0bfc5f58c6ee8e7fed</id>
<content type='text'>
</content>
</entry>
</feed>
