<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/test/ui/polymorphization/predicates.rs, branch try</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=try</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=try'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2023-01-11T09:32:08+00:00</updated>
<entry>
<title>Move /src/test to /tests</title>
<updated>2023-01-11T09:32:08+00:00</updated>
<author>
<name>Albert Larsan</name>
<email>74931857+albertlarsan68@users.noreply.github.com</email>
</author>
<published>2023-01-05T08:13:28+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=cf2dff2b1e3fa55fa5415d524200070d0d7aacfe'/>
<id>urn:sha1:cf2dff2b1e3fa55fa5415d524200070d0d7aacfe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Specialize a few tests depending on opt-level.</title>
<updated>2022-06-30T19:45:29+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2022-05-17T14:18:40+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6a9946143d403aecdff348e8498474eeb25eb2d4'/>
<id>urn:sha1:6a9946143d403aecdff348e8498474eeb25eb2d4</id>
<content type='text'>
</content>
</entry>
<entry>
<title>polymorphize: remove predicate logic</title>
<updated>2021-10-01T16:34:18+00:00</updated>
<author>
<name>David Wood</name>
<email>david@davidtw.co</email>
</author>
<published>2020-08-20T10:42:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=da2b69b6142725586a41d6db751921043a1786af'/>
<id>urn:sha1:da2b69b6142725586a41d6db751921043a1786af</id>
<content type='text'>
This commit removes all logic which marks parameters as used based on
their presence in predicates - given rust-lang/rust#75675, this will
enable more polymorphization and avoid the symbol clashes that predicate
logic previously sidestepped.

Signed-off-by: David Wood &lt;david@davidtw.co&gt;
</content>
</entry>
<entry>
<title>polymorphize: ∃ used param ∈ predicate → all used</title>
<updated>2020-08-17T13:13:58+00:00</updated>
<author>
<name>David Wood</name>
<email>david@davidtw.co</email>
</author>
<published>2020-08-16T15:35:38+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=5703b2863e1b4b815007b5a3380734634acd1f37'/>
<id>urn:sha1:5703b2863e1b4b815007b5a3380734634acd1f37</id>
<content type='text'>
This commit modifies polymorphization's handling of predicates so that
if any generic parameter is used in a predicate then all parameters in
that predicate are used.

Signed-off-by: David Wood &lt;david@davidtw.co&gt;
</content>
</entry>
<entry>
<title>polymorphize: `I` used if `T` used in `I: Foo&lt;T&gt;`</title>
<updated>2020-08-14T22:01:14+00:00</updated>
<author>
<name>David Wood</name>
<email>david@davidtw.co</email>
</author>
<published>2020-08-14T11:33:20+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=bf3ef26713b8208e0127f4c51725897dbcd11bd9'/>
<id>urn:sha1:bf3ef26713b8208e0127f4c51725897dbcd11bd9</id>
<content type='text'>
This commit adjusts polymorphization's handling of predicates so that
after ensuring that `T` is used in `I: Foo&lt;T&gt;` if `I` is used, it now
ensures that `I` is used if `T` is used in `I: Foo&lt;T&gt;`. This is
necessary to mark generic parameters that only exist in impl parameters
as used - thereby avoiding symbol clashes when using the new mangling
scheme.

Signed-off-by: David Wood &lt;david@davidtw.co&gt;
</content>
</entry>
<entry>
<title>sess: disable polymorphisation</title>
<updated>2020-07-22T14:36:24+00:00</updated>
<author>
<name>David Wood</name>
<email>david@davidtw.co</email>
</author>
<published>2020-07-22T14:03:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f39ed207fe25a39fba59d120efcdb56e30d19183'/>
<id>urn:sha1:f39ed207fe25a39fba59d120efcdb56e30d19183</id>
<content type='text'>
This commit disables polymorphisation to resolve regressions related to
closures which inherit unused generic parameters and are then used in
casts or reflection.

Signed-off-by: David Wood &lt;david@davidtw.co&gt;
</content>
</entry>
<entry>
<title>mir: use attribute over `-Z polymorphize-errors`</title>
<updated>2020-07-20T18:35:35+00:00</updated>
<author>
<name>David Wood</name>
<email>david@davidtw.co</email>
</author>
<published>2020-07-16T16:52:23+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=b1f8bd635696644f86bdb5ea69fb69ec50bc6d9b'/>
<id>urn:sha1:b1f8bd635696644f86bdb5ea69fb69ec50bc6d9b</id>
<content type='text'>
This commit replaces the `-Z polymorphize-errors` debugging flag with a
`#[rustc_polymorphize_error]` attribute for use on functions.

Signed-off-by: David Wood &lt;david@davidtw.co&gt;
</content>
</entry>
<entry>
<title>mir: `unused_generic_params` query</title>
<updated>2020-07-20T18:35:30+00:00</updated>
<author>
<name>David Wood</name>
<email>david@davidtw.co</email>
</author>
<published>2020-06-22T12:57:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2989fea88a489a01b3e2243bb84b0ec20b8a0e28'/>
<id>urn:sha1:2989fea88a489a01b3e2243bb84b0ec20b8a0e28</id>
<content type='text'>
This commit implements the `unused_generic_params` query, an initial
version of polymorphization which detects when an item does not use
generic parameters and is being needlessly monomorphized as a result.

Signed-off-by: David Wood &lt;david@davidtw.co&gt;
</content>
</entry>
</feed>
