<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/test/codegen-units/polymorphization, branch 1.48.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.48.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.48.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2020-09-25T21:46:14+00:00</updated>
<entry>
<title>Move from {{closure}}#0 syntax to {closure#0} for (def) path components</title>
<updated>2020-09-25T21:46:14+00:00</updated>
<author>
<name>marmeladema</name>
<email>xademax@gmail.com</email>
</author>
<published>2020-08-31T17:11:44+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f1878d19faf9472f8860a3ff4fe605fdf93cef2c'/>
<id>urn:sha1:f1878d19faf9472f8860a3ff4fe605fdf93cef2c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>ty: remove obsolete printer</title>
<updated>2020-08-30T17:59:07+00:00</updated>
<author>
<name>David Wood</name>
<email>david@davidtw.co</email>
</author>
<published>2020-08-28T13:31:03+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6ff471b1cf85dea0e8f83b5212042905aac35143'/>
<id>urn:sha1:6ff471b1cf85dea0e8f83b5212042905aac35143</id>
<content type='text'>
This commit removes the obsolete printer and replaces all uses of it
with `FmtPrinter`. Of the replaced uses, all but one use was in `debug!`
logging, two cases were notable:

- `MonoItem::to_string` is used in `-Z print-mono-items` and therefore
  affects the output of all codegen-units tests.
- `DefPathBasedNames` was used in `librustc_codegen_llvm/type_of.rs`
  with `LLVMStructCreateNamed` and that'll now get different values, but
  this should result in no functional change.

Signed-off-by: David Wood &lt;david@davidtw.co&gt;
</content>
</entry>
<entry>
<title>instance: only polymorphize upvar substs</title>
<updated>2020-08-09T13:53:33+00:00</updated>
<author>
<name>David Wood</name>
<email>david@davidtw.co</email>
</author>
<published>2020-08-09T13:53:33+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fd41bdeff0ff56ad2e46b00ca55daafb68a8ea08'/>
<id>urn:sha1:fd41bdeff0ff56ad2e46b00ca55daafb68a8ea08</id>
<content type='text'>
This commit restricts the substitution polymorphization added in #75255
to only apply to the tupled upvar substitution, rather than all
substitutions, fixing a bunch of regressions when polymorphization is
enabled.

Signed-off-by: David Wood &lt;david@davidtw.co&gt;
</content>
</entry>
<entry>
<title>instance: polymorphize `FnDef` substs</title>
<updated>2020-08-07T17:41:45+00:00</updated>
<author>
<name>David Wood</name>
<email>david@davidtw.co</email>
</author>
<published>2020-08-07T16:57:21+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=ac50d61785ae5112b9b4e30a58cfcffe096b31ec'/>
<id>urn:sha1:ac50d61785ae5112b9b4e30a58cfcffe096b31ec</id>
<content type='text'>
This commit extends previous polymorphization of substs to polymorphize
`FnDef`.

Signed-off-by: David Wood &lt;david@davidtw.co&gt;
</content>
</entry>
<entry>
<title>instance: always polymorphize substs</title>
<updated>2020-08-07T17:41:41+00:00</updated>
<author>
<name>David Wood</name>
<email>david@davidtw.co</email>
</author>
<published>2020-08-07T16:11:16+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=0d9924a87b862529591c3039959fef5bc7c95359'/>
<id>urn:sha1:0d9924a87b862529591c3039959fef5bc7c95359</id>
<content type='text'>
By always polymorphizing substitutions, functions which take closures as
arguments (e.g. `impl Fn()`) can have fewer mono items when some of the
argument closures can be polymorphized.

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: `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>
