<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/compiler/rustc_middle/src/ty/instance.rs, branch 1.62.0</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=1.62.0</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=1.62.0'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2022-05-14T23:53:11+00:00</updated>
<entry>
<title>Auto merge of #96883 - jackh726:early-binder-2, r=oli-obk</title>
<updated>2022-05-14T23:53:11+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2022-05-14T23:53:11+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=2a8a0fc4237da544aca0d6631ee467891caad9ad'/>
<id>urn:sha1:2a8a0fc4237da544aca0d6631ee467891caad9ad</id>
<content type='text'>
Add EarlyBinder

Chalk has no concept of `Param` (https://github.com/rust-lang/chalk/blob/e0ade19d139bc784384acc6736cd960c91dd55a1/chalk-ir/src/lib.rs#L579) or `ReEarlyBound` (https://github.com/rust-lang/chalk/blob/e0ade19d139bc784384acc6736cd960c91dd55a1/chalk-ir/src/lib.rs#L1308). Everything  is just "bound" - the equivalent of rustc's late-bound. It's not completely clear yet whether to move everything to the same time of binder in rustc or add `Param` and `ReEarlyBound` in Chalk.

Either way, tracking when we have or haven't already substituted out these in rustc can be helpful.

As a first step, I'm just adding a `EarlyBinder` newtype that is required to call `subst`. I also add a couple "transparent" `bound_*` wrappers around a couple query that are often immediately substituted.

r? `@nikomatsakis`
</content>
</entry>
<entry>
<title>Introduce EarlyBinder</title>
<updated>2022-05-11T02:47:18+00:00</updated>
<author>
<name>Jack Huey</name>
<email>31162821+jackh726@users.noreply.github.com</email>
</author>
<published>2022-05-08T05:17:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=319575ae8c3f6ea5db1c850c8f4c786c8cc203fe'/>
<id>urn:sha1:319575ae8c3f6ea5db1c850c8f4c786c8cc203fe</id>
<content type='text'>
</content>
</entry>
<entry>
<title>only_local: always check for misuse</title>
<updated>2022-05-10T10:07:35+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2022-05-02T07:31:56+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=6c8265dc56d221dce7f3535ecf8cdee6b9d2d618'/>
<id>urn:sha1:6c8265dc56d221dce7f3535ecf8cdee6b9d2d618</id>
<content type='text'>
</content>
</entry>
<entry>
<title>review</title>
<updated>2022-05-09T16:40:18+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2022-05-09T15:47:02+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=32b13ac9280d15273ef17ee474c0f0a738bb5f5a'/>
<id>urn:sha1:32b13ac9280d15273ef17ee474c0f0a738bb5f5a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>only compute `codegen_fn_attrs` where needed</title>
<updated>2022-05-09T16:40:18+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2022-05-04T09:18:37+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d371ebe117419b9815bd8743f981d8fa67a876d8'/>
<id>urn:sha1:d371ebe117419b9815bd8743f981d8fa67a876d8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>fix most compiler/ doctests</title>
<updated>2022-05-03T00:40:30+00:00</updated>
<author>
<name>Elliot Roberts</name>
<email>Elliot0000101@gmail.com</email>
</author>
<published>2022-04-15T22:04:34+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7907385999b4a83d37ed31d334f3ed9ca02983a1'/>
<id>urn:sha1:7907385999b4a83d37ed31d334f3ed9ca02983a1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>rename ErrorReported -&gt; ErrorGuaranteed</title>
<updated>2022-03-02T15:45:25+00:00</updated>
<author>
<name>mark</name>
<email>markm@cs.wisc.edu</email>
</author>
<published>2022-01-23T18:34:26+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=e489a94deef3d41513fe4254804d730f0fd6cbc0'/>
<id>urn:sha1:e489a94deef3d41513fe4254804d730f0fd6cbc0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #94131 - Mark-Simulacrum:fmt-string, r=oli-obk</title>
<updated>2022-02-24T17:18:07+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2022-02-24T17:18:07+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=4b043faba34ccc053a4d0110634c323f6c03765e'/>
<id>urn:sha1:4b043faba34ccc053a4d0110634c323f6c03765e</id>
<content type='text'>
Always format to internal String in FmtPrinter

This avoids monomorphizing for different parameters, decreasing generic code
instantiated downstream from rustc_middle -- locally seeing 7% unoptimized LLVM IR
line wins on rustc_borrowck, for example.

We likely can't/shouldn't get rid of the Result-ness on most functions, though some
further cleanup avoiding fmt::Error where we now know it won't occur may be possible,
though somewhat painful -- fmt::Write is a pretty annoying API to work with in practice
when you're trying to use it infallibly.
</content>
</entry>
<entry>
<title>use `List&lt;Ty&lt;'tcx&gt;&gt;` for tuples</title>
<updated>2022-02-21T06:09:11+00:00</updated>
<author>
<name>lcnr</name>
<email>rust@lcnr.de</email>
</author>
<published>2022-02-07T15:06:31+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=1245131a118ee08a38cfd3a90952a0168d65cae2'/>
<id>urn:sha1:1245131a118ee08a38cfd3a90952a0168d65cae2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Always format to internal String in FmtPrinter</title>
<updated>2022-02-21T00:32:18+00:00</updated>
<author>
<name>Mark Rousskov</name>
<email>mark.simulacrum@gmail.com</email>
</author>
<published>2022-02-18T21:15:29+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=efb99d780d282b50c29e429903398553665f4c06'/>
<id>urn:sha1:efb99d780d282b50c29e429903398553665f4c06</id>
<content type='text'>
This avoids monomorphizing for different parameters, decreasing generic code
instantiated downstream from rustc_middle.
</content>
</entry>
</feed>
