Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 10 pull requests #67828

Merged
merged 28 commits into from
Jan 3, 2020
Merged

Rollup of 10 pull requests #67828

merged 28 commits into from
Jan 3, 2020

Conversation

JohnTitor
Copy link
Member

Successful merges:

Failed merges:

r? @ghost

semarie and others added 28 commits December 27, 2019 05:32
This has bothered me for a while. It's such a small nit, but...
Fixes rust-lang#67710

Previously, we were not calling `super_place`, which resulted in us
failing to update any local references that occur in
ProjectionElem::Index. This caused the post-inlining MIR to contain a
reference to a local ID from the inlined callee, leading to an ICE
due to a type mismatch.
Co-authored-by: Centril <twingoow@gmail.com>
Co-authored-by: Centril <twingoow@gmail.com>
Co-authored-by: Centril <twingoow@gmail.com>
…imit, r=Mark-Simulacrum

Allow for setting a ThinLTO import limit during bootstrap

The benchmarks in rust-lang#66625 have shown that a lower ThinLTO import limit can be a net win for bootstrap times. This PR:
- exposes the setting to `config.toml`,
- defaults to a lower limit if `incremental = true` in `config.toml`, and
- sets a lower limit for `x86_64-gnu-llvm-7` CI image in order to make the jobs complete more quickly (which remains to be tested).

This setting will affect how the compiler and it's tools are compiled. It will not affect the settings the compiler uses when compiling user code.

r? @pietroalbini
cc @rust-lang/infra
…long-enough, r=estebank

Suggest adding a lifetime constraint for opaque type

Fixes rust-lang#67577, where code like this:

```
struct List {
  data: Vec<String>,
}
impl List {
  fn started_with<'a>(&'a self, prefix: &'a str) -> impl Iterator<Item=&'a str> {
    self.data.iter().filter(|s| s.starts_with(prefix)).map(|s| s.as_ref())
  }
}
```

will show this error:
```
   Compiling playground v0.0.1 (/playground)
error[E0597]: `prefix` does not live long enough
 --> src/lib.rs:6:47
  |
5 |   fn started_with<'a>(&'a self, prefix: &'a str) -> impl Iterator<Item=&'a str> {
  |                   -- lifetime `'a` defined here     --------------------------- opaque type requires that `prefix` is borrowed for `'a`
...
```

but without suggesting the lovely `help: you can add a constraint..`.

r? @estebank
…imulacrum

allow rustfmt key in [build] section

Permit using `rustfmt` in `config.toml`. It will allow to not download `rustfmt` binary, which is not possible for at least some tiers-3 platforms.

Fixes: rust-lang#67624

r? @Mark-Simulacrum
Less-than is asymmetric, not antisymmetric

This has bothered me for a while. It's such a small nit, but...
…lett

Add missing links for insecure_time
…, r=Centril

Warn for bindings named same as variants when matching against a borrow

Fixes rust-lang#67776
…sleywiser

Ensure that we process projections during MIR inlining

Fixes rust-lang#67710

Previously, we were not calling `super_place`, which resulted in us
failing to update any local references that occur in
ProjectionElem::Index. This caused the post-inlining MIR to contain a
reference to a local ID from the inlined callee, leading to an ICE
due to a type mismatch.
Use drop instead of the toilet closure `|_| ()`
…steveklabnik

Minor: change take() docs grammar to match other docs

Eg. mem::replace()
@JohnTitor
Copy link
Member Author

@bors r+ p=10 rollup=never

@bors
Copy link
Contributor

bors commented Jan 3, 2020

📌 Commit 14c96ce has been approved by JohnTitor

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Jan 3, 2020
@JohnTitor JohnTitor added the rollup A PR which is a rollup label Jan 3, 2020
@bors
Copy link
Contributor

bors commented Jan 3, 2020

⌛ Testing commit 14c96ce with merge 30ddb5a...

bors added a commit that referenced this pull request Jan 3, 2020
Rollup of 10 pull requests

Successful merges:

 - #67450 (Allow for setting a ThinLTO import limit during bootstrap)
 - #67595 (Suggest adding a lifetime constraint for opaque type)
 - #67636 (allow rustfmt key in [build] section)
 - #67736 (Less-than is asymmetric, not antisymmetric)
 - #67762 (Add missing links for insecure_time)
 - #67783 (Warn for bindings named same as variants when matching against a borrow)
 - #67796 (Ensure that we process projections during MIR inlining)
 - #67807 (Use drop instead of the toilet closure `|_| ()`)
 - #67816 (Clean up err codes)
 - #67825 (Minor: change take() docs grammar to match other docs)

Failed merges:

r? @ghost
@bors
Copy link
Contributor

bors commented Jan 3, 2020

☀️ Test successful - checks-azure
Approved by: JohnTitor
Pushing 30ddb5a to master...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label Jan 3, 2020
@bors bors merged commit 14c96ce into rust-lang:master Jan 3, 2020
@JohnTitor JohnTitor deleted the rollup-qmswkkl branch January 3, 2020 12:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.