<feed xmlns='http://www.w3.org/2005/Atom'>
<title>rust/src/librustc/traits/specialize, branch master</title>
<subtitle>https://github.com/rust-lang/rust
</subtitle>
<id>http://git.dreamy.place/mirrors/rust/atom?h=master</id>
<link rel='self' href='http://git.dreamy.place/mirrors/rust/atom?h=master'/>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/'/>
<updated>2020-02-16T10:41:25+00:00</updated>
<entry>
<title>Move librustc/{traits,infer} to librustc_infer.</title>
<updated>2020-02-16T10:41:25+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2020-01-06T19:13:24+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d5691209b6d5fe5e47560b1db7b822dbeb0880fd'/>
<id>urn:sha1:d5691209b6d5fe5e47560b1db7b822dbeb0880fd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Auto merge of #69062 - Dylan-DPC:rollup-7wpjpqu, r=Dylan-DPC</title>
<updated>2020-02-11T17:45:49+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2020-02-11T17:45:49+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=3f32e3001e3a64c1baa509d3d1734dff53f14d81'/>
<id>urn:sha1:3f32e3001e3a64c1baa509d3d1734dff53f14d81</id>
<content type='text'>
Rollup of 8 pull requests

Successful merges:

 - #66498 (Remove unused feature gates)
 - #68816 (Tweak borrow error on `FnMut` when `Fn` is expected)
 - #68824 (Enable Control Flow Guard in rustbuild)
 - #69022 (traits: preallocate 2 Vecs of known initial size)
 - #69031 (Use `dyn Trait` more in tests)
 - #69044 (Don't run coherence twice for future-compat lints)
 - #69047 (Don't rustfmt check the vendor directory.)
 - #69055 (Clean up E0307 explanation)

Failed merges:

r? @ghost
</content>
</entry>
<entry>
<title>Run RustFmt</title>
<updated>2020-02-11T09:49:01+00:00</updated>
<author>
<name>jumbatm</name>
<email>jumbatm@gmail.com</email>
</author>
<published>2020-02-01T23:47:58+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=d246385122ffd7dd6cc5c490b7e648f58c2ff7fd'/>
<id>urn:sha1:d246385122ffd7dd6cc5c490b7e648f58c2ff7fd</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Invert control in struct_lint_level.</title>
<updated>2020-02-11T09:47:40+00:00</updated>
<author>
<name>jumbatm</name>
<email>jumbatm@gmail.com</email>
</author>
<published>2020-01-31T12:24:57+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=7c58ffe874142e1943e2674d7e75989938a7d21b'/>
<id>urn:sha1:7c58ffe874142e1943e2674d7e75989938a7d21b</id>
<content type='text'>
Caller now passes in a `decorate` function, which is only run if the
lint is allowed.
</content>
</entry>
<entry>
<title>Don't run coherence twice for future-compat lints</title>
<updated>2020-02-10T23:17:47+00:00</updated>
<author>
<name>Jonas Schievink</name>
<email>jonasschievink@gmail.com</email>
</author>
<published>2020-02-10T23:17:47+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=f66793757fd1cdfa6098ec1b8532ba0382792c4d'/>
<id>urn:sha1:f66793757fd1cdfa6098ec1b8532ba0382792c4d</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Remove vestigial #43355-compat code</title>
<updated>2020-02-09T22:18:02+00:00</updated>
<author>
<name>Jonas Schievink</name>
<email>jonasschievink@gmail.com</email>
</author>
<published>2020-02-08T18:14:50+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=23095928a7e51e84f2e58a28ea0b76db6599d9d7'/>
<id>urn:sha1:23095928a7e51e84f2e58a28ea0b76db6599d9d7</id>
<content type='text'>
This was previously a future-compat warning that has since been turned into
hard error, but without actually removing all the code.

Avoids a call to `traits::overlapping_impls`, which is expensive.
</content>
</entry>
<entry>
<title>lint impls that will become incoherent when leak-check is removed</title>
<updated>2020-02-06T20:58:01+00:00</updated>
<author>
<name>Niko Matsakis</name>
<email>niko@alum.mit.edu</email>
</author>
<published>2020-01-24T20:57:01+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=363fabaf1fbd0f38a7ddde4a64866d8cd2cd49f2'/>
<id>urn:sha1:363fabaf1fbd0f38a7ddde4a64866d8cd2cd49f2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move specialization_graph definition in traits::types.</title>
<updated>2020-02-05T11:41:02+00:00</updated>
<author>
<name>Camille GILLOT</name>
<email>gillot.camille@gmail.com</email>
</author>
<published>2020-01-22T12:44:59+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=c851db94951643c2b200b13bf6d8ab6d5fdb541e'/>
<id>urn:sha1:c851db94951643c2b200b13bf6d8ab6d5fdb541e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rollup merge of #68353 - Centril:code-liberation, r=petrochenkov</title>
<updated>2020-01-20T05:44:48+00:00</updated>
<author>
<name>Dylan DPC</name>
<email>dylan.dpc@gmail.com</email>
</author>
<published>2020-01-20T05:44:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=fb86b820bbde7772477a95e36a70f06578313de2'/>
<id>urn:sha1:fb86b820bbde7772477a95e36a70f06578313de2</id>
<content type='text'>
Remove `rustc_error_codes` deps except in `rustc_driver`

Remove dependencies on `rustc_error_codes` in all crates except for `rustc_driver`.

This has some benefits:

1. Adding a new error code when hacking on the compiler only requires rebuilding at most `rustc_error_codes`, `rustc_driver`, and the reflexive &amp; transitive closure of the crate where the new error code is being added and its reverse dependencies. This improves time-to-UI-tests (TTUT).

2. Adding an error description to an error code only requires rebuilding `rustc_error_codes` and `rustc_driver`. This should substantially improve TTUT.

r? @petrochenkov
cc @rust-lang/wg-diagnostics
</content>
</entry>
<entry>
<title>Auto merge of #68057 - Aaron1011:fix/marker-trait-selection, r=matthewjasper</title>
<updated>2020-01-20T00:10:48+00:00</updated>
<author>
<name>bors</name>
<email>bors@rust-lang.org</email>
</author>
<published>2020-01-20T00:10:48+00:00</published>
<link rel='alternate' type='text/html' href='http://git.dreamy.place/mirrors/rust/commit/?id=29b854fb741809c29764e33fc17c32ba9c6523ba'/>
<id>urn:sha1:29b854fb741809c29764e33fc17c32ba9c6523ba</id>
<content type='text'>
Don't discard marker trait impls when inference variables are present

Fixes #61651

Previously, we would unconditionally discard impl candidates for marker
traits during trait selection. However, if the predicate had inference
variables, this could have the effect of constrainting inference
variables (due to a successful trait selection) when we would have
otherwise failed due to mutliple applicable impls,

This commit prevents marker trait impls from being discarded while the
obligation predicate has any inference variables, ensuring that
discarding impls will never cause us to incorrectly constraint inference
variables.
</content>
</entry>
</feed>
