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 17 pull requests #63544

Merged
merged 49 commits into from Aug 14, 2019

Conversation

@Centril
Copy link
Member

commented Aug 14, 2019

Successful merges:

  • #62760 (Deduplicate error messages in librsctc_mir)
  • #62849 (typeck: Prohibit RPIT types that inherit lifetimes)
  • #63383 (async fn lifetime elision tests)
  • #63421 (Implement Clone, Display for ascii::EscapeDefault)
  • #63459 (syntax: account for CVarArgs being in the argument list.)
  • #63475 (Bring back suggestion for splitting <- into < -)
  • #63485 (ci: move mirrors to their standalone bucket)
  • #63486 (Document From trait for BinaryHeap)
  • #63488 (improve DiagnosticBuilder docs)
  • #63493 (Remove unneeded comment in src/libcore/hash/mod.rs)
  • #63499 (handle elision in async fn correctly)
  • #63501 (use ParamName to track in-scope lifetimes instead of Ident)
  • #63508 (Do not ICE when synthesizing spans falling inside unicode chars)
  • #63511 (ci: add a check for clock drift)
  • #63512 (Provide map_ok and map_err method for Poll<Option<Result<T, E>>>)
  • #63529 (RELEASES.md: ? is one of three Kleene operators)
  • #63530 (Fix typo in error message.)

Failed merges:

r? @ghost

chansuke and others added some commits Jul 17, 2019

ci: move mirrors to their standalone bucket
Currently mirrors are stored in the rust-lang-ci2 S3 bucket along with
CI toolchains. This is problematic for multiple reasons:

- CI IAM credentials are allowed to both edit and delete those files.
  A malicious user gaining access to those credentials would be able to
  change our mirrored dependencies, possibly backdooring the compiler.

- Contents of the rust-lang-ci2 bucket are disposable except for the
  mirrors' content. When we implement backups for S3 buckets we'd have
  to replicate just that part of the bucket, complicating the backup
  logic and increasing the chance of mistakes. A standalone bucket will
  be way easier to backup.

This commit switches our CI to use the new rust-lang-ci-mirrors bucket.
Apply suggestions from code review
Co-Authored-By: Mazdak Farrokhzad <twingoow@gmail.com>
typeck: Prohibit RPIT types that inherit lifetimes
This commit prohibits return position `impl Trait` types that "inherit
lifetimes" from the parent scope. The intent is to forbid cases that are
challenging until they can be addressed properly.
use `ParamName` to track in-scope lifetimes instead of Ident
This allows us to record "fresh" lifetime names for cases like `impl
Foo<'_>`.
revamp how we handle elision in async fn
We now always make fresh lifetimne parameters for all elided
lifetimes, whether they are in the inputs or outputs. But then
we generate `'_` in the case of elided lifetimes from the outputs.

Example:

```rust
async fn foo<'a>(x: &'a u32) -> &u32 { .. }
```

becomes

```rust
type Foo<'a, 'b> = impl Future<Output = &'b u32>;
fn foo<'a>(x: &'a u32) -> Foo<'a, '_>
```
clear in-scope lifetimes for nested items in HIR lowering
This was causing us to incorrectly think the lifetimes were
already declared on the scope for the nested item, when in fact
they are not inherited.
ci: add a check for clock drift
Recently we encountered multiple spurious failures where the crates.io
certificate was reported as expired, even though it's currently due to
expire in a few months. This adds some code to our CI to check for clock
drifts, to possibly find the cause or rule out a bad VM clock.
RELEASES.md: ? is one of three Kleene operators
The slash and quotes in ?/“Kleene” appeared to define “Kleene” as the
name for the ? operator, which is not the case.  Rust has three Kleene
operators *, +, ?.

(Pointed out by /u/Sharlinator on Reddit.)

Signed-off-by: Anders Kaseorg <andersk@mit.edu>

Centril added some commits Aug 14, 2019

Rollup merge of #63501 - nikomatsakis:issue-63500-async-anon-impl-lif…
…etime, r=cramertj

use `ParamName` to track in-scope lifetimes instead of Ident

Also, clear in-scope lifetimes when visiting nested items.

Fixes #63500.
Fixes #63225.
Fixes #52532.

r? @cramertj
Rollup merge of #63508 - estebank:compromice, r=petrochenkov
Do not ICE when synthesizing spans falling inside unicode chars

Fix #61226.
Rollup merge of #63511 - pietroalbini:pa-ci-date, r=Mark-Simulacrum
ci: add a check for clock drift

Recently we encountered multiple spurious failures where the crates.io
certificate was reported as expired, even though it's currently due to
expire in a few months. This adds some code to our CI to check for clock
drifts, to possibly find the cause or rule out a bad VM clock.

cc #63510
r? @Mark-Simulacrum
Rollup merge of #63512 - 95th:master, r=cramertj
Provide map_ok and map_err method for Poll<Option<Result<T, E>>>

Currently `map_ok` and `map_err` methods are given for `Poll<Result<T, E>>`.

This PR adds these methods for `Poll<Option<Result<T, E>>>` as they are helpful in stream building code.
Rollup merge of #63529 - andersk:release-notes-kleene, r=Centril
RELEASES.md: ? is one of three Kleene operators

The slash and quotes in ?/“Kleene” appeared to define “Kleene” as the name for the `?` operator, which is not the case. Rust has three Kleene operators `*`, `+`, `?`.

([Pointed out](https://www.reddit.com/r/rust/comments/cprt0z/rust_1370_prerelease_testing/ewr90y3/) by /u/Sharlinator on Reddit.)
@Centril

This comment has been minimized.

Copy link
Member Author

commented Aug 14, 2019

@bors r+ p=17 rollup=never

@bors

This comment has been minimized.

Copy link
Contributor

commented Aug 14, 2019

📌 Commit a8bb375 has been approved by Centril

@Centril

This comment has been minimized.

Copy link
Member Author

commented Aug 14, 2019

@bors p=200

@bors

This comment has been minimized.

Copy link
Contributor

commented Aug 14, 2019

⌛️ Testing commit a8bb375 with merge 98282c0...

bors added a commit that referenced this pull request Aug 14, 2019

Auto merge of #63544 - Centril:rollup-qhqfcov, r=Centril
Rollup of 17 pull requests

Successful merges:

 - #62760 (Deduplicate error messages in `librsctc_mir`)
 - #62849 (typeck: Prohibit RPIT types that inherit lifetimes)
 - #63383 (`async fn` lifetime elision tests)
 - #63421 (Implement Clone, Display for ascii::EscapeDefault)
 - #63459 (syntax: account for CVarArgs being in the argument list.)
 - #63475 (Bring back suggestion for splitting `<-` into `< -`)
 - #63485 (ci: move mirrors to their standalone bucket)
 - #63486 (Document `From` trait for `BinaryHeap`)
 - #63488 (improve DiagnosticBuilder docs)
 - #63493 (Remove unneeded comment in src/libcore/hash/mod.rs)
 - #63499 (handle elision in async fn correctly)
 - #63501 (use `ParamName` to track in-scope lifetimes instead of Ident)
 - #63508 (Do not ICE when synthesizing spans falling inside unicode chars)
 - #63511 (ci: add a check for clock drift)
 - #63512 (Provide map_ok and map_err method for Poll<Option<Result<T, E>>>)
 - #63529 (RELEASES.md: ? is one of three Kleene operators)
 - #63530 (Fix typo in error message.)

Failed merges:

r? @ghost
@bors

This comment has been minimized.

Copy link
Contributor

commented Aug 14, 2019

💥 Test timed out

@bors

This comment has been minimized.

Copy link
Contributor

commented Aug 14, 2019

⌛️ Testing commit a8bb375 with merge c43d03a...

bors added a commit that referenced this pull request Aug 14, 2019

Auto merge of #63544 - Centril:rollup-qhqfcov, r=Centril
Rollup of 17 pull requests

Successful merges:

 - #62760 (Deduplicate error messages in `librsctc_mir`)
 - #62849 (typeck: Prohibit RPIT types that inherit lifetimes)
 - #63383 (`async fn` lifetime elision tests)
 - #63421 (Implement Clone, Display for ascii::EscapeDefault)
 - #63459 (syntax: account for CVarArgs being in the argument list.)
 - #63475 (Bring back suggestion for splitting `<-` into `< -`)
 - #63485 (ci: move mirrors to their standalone bucket)
 - #63486 (Document `From` trait for `BinaryHeap`)
 - #63488 (improve DiagnosticBuilder docs)
 - #63493 (Remove unneeded comment in src/libcore/hash/mod.rs)
 - #63499 (handle elision in async fn correctly)
 - #63501 (use `ParamName` to track in-scope lifetimes instead of Ident)
 - #63508 (Do not ICE when synthesizing spans falling inside unicode chars)
 - #63511 (ci: add a check for clock drift)
 - #63512 (Provide map_ok and map_err method for Poll<Option<Result<T, E>>>)
 - #63529 (RELEASES.md: ? is one of three Kleene operators)
 - #63530 (Fix typo in error message.)

Failed merges:

r? @ghost
@bors

This comment has been minimized.

Copy link
Contributor

commented Aug 14, 2019

☀️ Test successful - checks-azure
Approved by: Centril
Pushing c43d03a to master...

@bors bors added the merged-by-bors label Aug 14, 2019

@bors bors merged commit a8bb375 into rust-lang:master Aug 14, 2019

5 checks passed

homu Test successful
Details
pr Build #20190814.7 succeeded
Details
pr (Linux mingw-check) Linux mingw-check succeeded
Details
pr (Linux x86_64-gnu-llvm-6.0) Linux x86_64-gnu-llvm-6.0 succeeded
Details
pr (LinuxTools) LinuxTools succeeded
Details

@Centril Centril deleted the Centril:rollup-qhqfcov branch Aug 14, 2019

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
You can’t perform that action at this time.