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 #63563

Closed
wants to merge 46 commits into from
Closed

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Aug 14, 2019

Successful merges:

Failed merges:

r? @ghost

RalfJung and others added 30 commits July 28, 2019 10:19
Co-Authored-By: bjorn3 <bjorn3@users.noreply.github.com>
petrochenkov and others added 16 commits August 14, 2019 02:35
Each call to `fully_expand_fragment` is something unique, interesting, and requiring attention.
It represents a "root" of expansion and its use means that something unusual is happening, like eager expansion or expansion performed outside of the primary expansion pass.
So, it shouldn't be hide under a generic visitor call.

Also, from all the implemented visitor methods only two were actually used.
This is needed to permit us building core_arch which is a submodule dep
(so we can't snap it to the new beta compiler).
Add lint for excess trailing semicolons

Closes rust-lang#60876.
A caveat (not necessarily a negative, but something to consider) with this implementation is that excess semicolons after return/continue/break now also cause an 'unreachable statement' warning.

For the following example:
```
fn main() {
    extra_semis();
}
fn extra_semis() -> i32 {
    let mut sum = 0;;;
    for i in 0..10 {
        if i == 5 {
            continue;;
        } else if i == 9 {
            break;;
        } else {
            sum += i;;
        }
    }
    return sum;;
}
```
The output is:
```
warning: unnecessary trailing semicolons
 --> src/main.rs:5:21
  |
5 |     let mut sum = 0;;;
  |                     ^^ help: remove these semicolons
  |
  = note: `#[warn(redundant_semicolon)]` on by default

warning: unnecessary trailing semicolon
 --> src/main.rs:8:22
  |
8 |             continue;;
  |                      ^ help: remove this semicolon

warning: unnecessary trailing semicolon
  --> src/main.rs:10:19
   |
10 |             break;;
   |                   ^ help: remove this semicolon

warning: unnecessary trailing semicolon
  --> src/main.rs:12:22
   |
12 |             sum += i;;
   |                      ^ help: remove this semicolon

warning: unnecessary trailing semicolon
  --> src/main.rs:15:16
   |
15 |     return sum;;
   |                ^ help: remove this semicolon

warning: unreachable statement
 --> src/main.rs:8:22
  |
8 |             continue;;
  |                      ^
  |
  = note: `#[warn(unreachable_code)]` on by default

warning: unreachable statement
  --> src/main.rs:10:19
   |
10 |             break;;
   |                   ^

warning: unreachable statement
  --> src/main.rs:15:16
   |
15 |     return sum;;
   |                ^

```
Miri: Check that a ptr is aligned and inbounds already when evaluating `*`

This syncs Miri with what the Nomicon and the Reference say, and resolves rust-lang/miri#447.

Also this would not have worked without rust-lang#62982 due to new cycles. ;)

r? @oli-obk
…chenkov

libsyntax: cleanup and refactor `pat.rs`

A smaller refactoring & cleanup of `pat.rs` (best read commit by commit).

r? @petrochenkov
 Remove redundant `ty` fields from `mir::Constant` and `hair::pattern::PatternRange`.

Fixes rust-lang#56137.

As a side-effect, associated const literals have the correct type now, which should make things easier for rust-lang#61041.

r? @oli-obk / @matthewjasper cc @davidtwco @varkor
Point at the right enclosing scope when using `await` in non-async fn

Fix rust-lang#63398.
syntax: Remove `DummyResult::expr_only`

The effect is that if a built-in macro both returns an erroneous AST fragment and is used in unexpected position, then the incorrect position error won't be reported.

This combination of two errors should be rare and isn't worth an extra field that makes people ask questions in comments.
(There wasn't even a test making sure it worked.)

Addresses rust-lang#63468 (comment)
r? @estebank
expand: Unimplement `MutVisitor` on `MacroExpander`

Each call to `fully_expand_fragment` is something unique, interesting, and requiring attention.
It represents a "root" of expansion and its use means that something unusual is happening, like eager expansion or expansion performed outside of the primary expansion pass.
So, it shouldn't hide under a generic visitor call.

Also, from all the implemented visitor methods only two were actually used.

cc rust-lang#63468 (comment)
Add NodeId for Arm, Field and FieldPat

Extracted from rust-lang#63468
…henkov

move test that shouldn't be in test/run-pass/

We no longer test `src/test/run-pass/`; the proper way now is `// run-pass` in `src/test/ui/`

r? @petrochenkov
@Centril
Copy link
Contributor Author

Centril commented Aug 14, 2019

@bors r+ p=10 rollup=never

@bors
Copy link
Contributor

bors commented Aug 14, 2019

📌 Commit a1f564b has been approved by Centril

@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 Aug 14, 2019
@bors
Copy link
Contributor

bors commented Aug 14, 2019

⌛ Testing commit a1f564b with merge 6edcad1...

bors added a commit that referenced this pull request Aug 14, 2019
Rollup of 10 pull requests

Successful merges:

 - #62984 (Add lint for excess trailing semicolons)
 - #63075 (Miri: Check that a ptr is aligned and inbounds already when evaluating `*`)
 - #63490 (libsyntax: cleanup and refactor `pat.rs`)
 - #63495 ( Remove redundant `ty` fields from `mir::Constant` and `hair::pattern::PatternRange`.)
 - #63509 (Point at the right enclosing scope when using `await` in non-async fn)
 - #63528 (syntax: Remove `DummyResult::expr_only`)
 - #63534 (Bump to 1.39)
 - #63537 (expand: Unimplement `MutVisitor` on `MacroExpander`)
 - #63542 (Add NodeId for Arm, Field and FieldPat)
 - #63560 (move test that shouldn't be in test/run-pass/)

Failed merges:

r? @ghost
@bors
Copy link
Contributor

bors commented Aug 14, 2019

💔 Test failed - checks-azure

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-nopt of your PR failed (raw log). Through arcane magic we have determined that the following fragments from the build log may contain information about the problem.

Click to expand the log.
2019-08-14T16:33:26.5667157Z do so (now or later) by using -b with the checkout command again. Example:
2019-08-14T16:33:26.5668859Z 
2019-08-14T16:33:26.5670285Z   git checkout -b <new-branch-name>
2019-08-14T16:33:26.5672542Z 
2019-08-14T16:33:26.5674620Z HEAD is now at 6edcad108 Auto merge of #63563 - Centril:rollup-j9nld0c, r=Centril
2019-08-14T16:33:26.5877950Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-08-14T16:33:26.5880826Z ==============================================================================
2019-08-14T16:33:26.5880924Z Task         : Bash
2019-08-14T16:33:26.5880992Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-08-14T18:33:25.9562060Z 
2019-08-14T18:33:25.9616711Z ---- [ui (nll)] ui/async-await/issues/issue-63388-1.rs stdout ----
2019-08-14T18:33:25.9617159Z diff of stderr:
2019-08-14T18:33:25.9617339Z 
2019-08-14T18:33:25.9617717Z 4 LL |     ) -> &dyn Foo
2019-08-14T18:33:25.9618068Z 6    |
2019-08-14T18:33:25.9618068Z 6    |
2019-08-14T18:33:25.9618454Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#27r
2019-08-14T18:33:25.9619180Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#22r
2019-08-14T18:33:25.9619654Z 9 error: lifetime may not live long enough
2019-08-14T18:33:25.9619997Z 10   --> $DIR/issue-63388-1.rs:15:5
2019-08-14T18:33:25.9620151Z 
2019-08-14T18:33:25.9620297Z 
2019-08-14T18:33:25.9620297Z 
2019-08-14T18:33:25.9620450Z The actual stderr differed from the expected stderr.
2019-08-14T18:33:25.9621352Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/async-await/issues/issue-63388-1.nll/issue-63388-1.nll.stderr
2019-08-14T18:33:25.9621908Z To update references, rerun the tests and pass the `--bless` flag
2019-08-14T18:33:25.9622393Z To only update this specific test, also pass `--test-args async-await/issues/issue-63388-1.rs`
2019-08-14T18:33:25.9622759Z error: 1 errors occurred comparing output.
2019-08-14T18:33:25.9622944Z status: exit code: 1
2019-08-14T18:33:25.9622944Z status: exit code: 1
2019-08-14T18:33:25.9624233Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/async-await/issues/issue-63388-1.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/async-await/issues/issue-63388-1.nll" "-Zborrowck=mir" "-Crpath" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--edition=2018" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/async-await/issues/issue-63388-1.nll/auxiliary" "-A" "unused"
2019-08-14T18:33:25.9625405Z ------------------------------------------
2019-08-14T18:33:25.9625572Z 
2019-08-14T18:33:25.9626117Z ------------------------------------------
2019-08-14T18:33:25.9626302Z stderr:
2019-08-14T18:33:25.9626302Z stderr:
2019-08-14T18:33:25.9626644Z ------------------------------------------
2019-08-14T18:33:25.9626859Z error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
2019-08-14T18:33:25.9627252Z   --> /checkout/src/test/ui/async-await/issues/issue-63388-1.rs:14:10
2019-08-14T18:33:25.9627463Z    |
2019-08-14T18:33:25.9627823Z LL |     ) -> &dyn Foo //~ ERROR lifetime mismatch
2019-08-14T18:33:25.9628172Z    |
2019-08-14T18:33:25.9628172Z    |
2019-08-14T18:33:25.9628551Z    = note: hidden type `impl std::future::Future` captures lifetime '_#22r
2019-08-14T18:33:25.9628877Z error: lifetime may not live long enough
2019-08-14T18:33:25.9629233Z   --> /checkout/src/test/ui/async-await/issues/issue-63388-1.rs:15:5
2019-08-14T18:33:25.9629607Z    |
2019-08-14T18:33:25.9629607Z    |
2019-08-14T18:33:25.9629975Z LL |       async fn do_sth<'a>(
2019-08-14T18:33:25.9630352Z    |                       -- lifetime `'a` defined here
2019-08-14T18:33:25.9630755Z LL |           &'a self, foo: &dyn Foo
2019-08-14T18:33:25.9631567Z    |                          - lifetime `'_` defined here
2019-08-14T18:33:25.9632083Z LL |       ) -> &dyn Foo //~ ERROR lifetime mismatch
2019-08-14T18:33:25.9632484Z LL | |         foo
2019-08-14T18:33:25.9632647Z LL | |     }
2019-08-14T18:33:25.9632647Z LL | |     }
2019-08-14T18:33:25.9633111Z    | |_____^ function was supposed to return data with lifetime `'a` but it is returning data with lifetime `'_`
2019-08-14T18:33:25.9633481Z error: aborting due to 2 previous errors
2019-08-14T18:33:25.9633618Z 
2019-08-14T18:33:25.9634026Z For more information about this error, try `rustc --explain E0700`.
2019-08-14T18:33:25.9634201Z 
2019-08-14T18:33:25.9634201Z 
2019-08-14T18:33:25.9634572Z ------------------------------------------
2019-08-14T18:33:25.9634912Z 
2019-08-14T18:33:25.9635237Z 
2019-08-14T18:33:25.9635626Z ---- [ui (nll)] ui/self/arbitrary_self_types_pin_lifetime_mismatch-async.rs stdout ----
2019-08-14T18:33:25.9635832Z diff of stderr:
2019-08-14T18:33:25.9635953Z 
2019-08-14T18:33:25.9636476Z 4 LL |     async fn a(self: Pin<&Foo>, f: &Foo) -> &Foo { f }
2019-08-14T18:33:25.9636871Z 6    |
2019-08-14T18:33:25.9636871Z 6    |
2019-08-14T18:33:25.9637252Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#18r
2019-08-14T18:33:25.9645823Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
2019-08-14T18:33:25.9645987Z 9 error: lifetime may not live long enough
2019-08-14T18:33:25.9646252Z 10   --> $DIR/arbitrary_self_types_pin_lifetime_mismatch-async.rs:10:50
2019-08-14T18:33:25.9646320Z 
2019-08-14T18:33:25.9646320Z 
2019-08-14T18:33:25.9646568Z 30 LL |     async fn bar<'a>(self: Alias<&Self>, arg: &'a ()) -> &() { arg }
2019-08-14T18:33:25.9646791Z 32    |
2019-08-14T18:33:25.9646791Z 32    |
2019-08-14T18:33:25.9647068Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#18r
2019-08-14T18:33:25.9647335Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
2019-08-14T18:33:25.9647482Z 35 error: lifetime may not live long enough
2019-08-14T18:33:25.9648072Z 36   --> $DIR/arbitrary_self_types_pin_lifetime_mismatch-async.rs:19:62
2019-08-14T18:33:25.9648135Z 
2019-08-14T18:33:25.9648166Z 
2019-08-14T18:33:25.9648166Z 
2019-08-14T18:33:25.9648245Z The actual stderr differed from the expected stderr.
2019-08-14T18:33:25.9648664Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/self/arbitrary_self_types_pin_lifetime_mismatch-async.nll/arbitrary_self_types_pin_lifetime_mismatch-async.nll.stderr
2019-08-14T18:33:25.9648963Z To update references, rerun the tests and pass the `--bless` flag
2019-08-14T18:33:25.9649290Z To only update this specific test, also pass `--test-args self/arbitrary_self_types_pin_lifetime_mismatch-async.rs`
2019-08-14T18:33:25.9649406Z error: 1 errors occurred comparing output.
2019-08-14T18:33:25.9649486Z status: exit code: 1
2019-08-14T18:33:25.9649486Z status: exit code: 1
2019-08-14T18:33:25.9650423Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/self/arbitrary_self_types_pin_lifetime_mismatch-async.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/self/arbitrary_self_types_pin_lifetime_mismatch-async.nll" "-Zborrowck=mir" "-Crpath" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--edition=2018" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/self/arbitrary_self_types_pin_lifetime_mismatch-async.nll/auxiliary" "-A" "unused"
2019-08-14T18:33:25.9651377Z ------------------------------------------
2019-08-14T18:33:25.9651432Z 
2019-08-14T18:33:25.9651708Z ------------------------------------------
2019-08-14T18:33:25.9651778Z stderr:
2019-08-14T18:33:25.9651778Z stderr:
2019-08-14T18:33:25.9652021Z ------------------------------------------
2019-08-14T18:33:25.9652108Z error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
2019-08-14T18:33:25.9652551Z    |
2019-08-14T18:33:25.9652551Z    |
2019-08-14T18:33:25.9652805Z LL |     async fn a(self: Pin<&Foo>, f: &Foo) -> &Foo { f }
2019-08-14T18:33:25.9652973Z    |
2019-08-14T18:33:25.9652973Z    |
2019-08-14T18:33:25.9653257Z    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
2019-08-14T18:33:25.9653374Z error: lifetime may not live long enough
2019-08-14T18:33:25.9653694Z   --> /checkout/src/test/ui/self/arbitrary_self_types_pin_lifetime_mismatch-async.rs:10:50
2019-08-14T18:33:25.9653775Z    |
2019-08-14T18:33:25.9653775Z    |
2019-08-14T18:33:25.9654040Z LL |     async fn a(self: Pin<&Foo>, f: &Foo) -> &Foo { f }
2019-08-14T18:33:25.9654416Z    |                          -                       ^^^^^ function was supposed to return data with lifetime `'_` but it is returning data with lifetime `'_`
2019-08-14T18:33:25.9654697Z    |                          |
2019-08-14T18:33:25.9654954Z    |                          lifetime `'_` defined here
2019-08-14T18:33:25.9655188Z    |                          lifetime `'_` defined here
2019-08-14T18:33:25.9655302Z error: lifetime may not live long enough
2019-08-14T18:33:25.9655578Z   --> /checkout/src/test/ui/self/arbitrary_self_types_pin_lifetime_mismatch-async.rs:13:73
2019-08-14T18:33:25.9655652Z    |
2019-08-14T18:33:25.9655652Z    |
2019-08-14T18:33:25.9655919Z LL |     async fn c(self: Pin<&Self>, f: &Foo, g: &Foo) -> (Pin<&Foo>, &Foo) { (self, f) }
2019-08-14T18:33:25.9656474Z    |                          -                                              ^^^^^^^^^^^^^ function was supposed to return data with lifetime `'_` but it is returning data with lifetime `'_`
2019-08-14T18:33:25.9657761Z    |                          |
2019-08-14T18:33:25.9658099Z    |                          lifetime `'_` defined here
2019-08-14T18:33:25.9658349Z    |                          lifetime `'_` defined here
2019-08-14T18:33:25.9658904Z 
2019-08-14T18:33:25.9660105Z error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
2019-08-14T18:33:25.9660596Z    |
2019-08-14T18:33:25.9660596Z    |
2019-08-14T18:33:25.9660853Z LL |     async fn bar<'a>(self: Alias<&Self>, arg: &'a ()) -> &() { arg } //~ ERROR E0623
2019-08-14T18:33:25.9661385Z    |
2019-08-14T18:33:25.9661385Z    |
2019-08-14T18:33:25.9661722Z    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
2019-08-14T18:33:25.9661842Z error: lifetime may not live long enough
2019-08-14T18:33:25.9662150Z   --> /checkout/src/test/ui/self/arbitrary_self_types_pin_lifetime_mismatch-async.rs:19:62
2019-08-14T18:33:25.9662248Z    |
2019-08-14T18:33:25.9662248Z    |
2019-08-14T18:33:25.9662528Z LL |     async fn bar<'a>(self: Alias<&Self>, arg: &'a ()) -> &() { arg } //~ ERROR E0623
2019-08-14T18:33:25.9662958Z    |                  --              -                           ^^^^^^^ function was supposed to return data with lifetime `'_` but it is returning data with lifetime `'a`
2019-08-14T18:33:25.9663068Z    |                  |               |
2019-08-14T18:33:25.9663346Z    |                  |               lifetime `'_` defined here
2019-08-14T18:33:25.9663663Z 
2019-08-14T18:33:25.9663726Z error: aborting due to 5 previous errors
2019-08-14T18:33:25.9663886Z 
2019-08-14T18:33:25.9664194Z For more information about this error, try `rustc --explain E0700`.
2019-08-14T18:33:25.9664194Z For more information about this error, try `rustc --explain E0700`.
2019-08-14T18:33:25.9664248Z 
2019-08-14T18:33:25.9664649Z ------------------------------------------
2019-08-14T18:33:25.9664691Z 
2019-08-14T18:33:25.9664722Z 
2019-08-14T18:33:25.9664969Z ---- [ui (nll)] ui/self/elision/lt-ref-self-async.rs stdout ----
2019-08-14T18:33:25.9665039Z diff of stderr:
2019-08-14T18:33:25.9665092Z 
2019-08-14T18:33:25.9665324Z 4 LL |     async fn ref_self(&self, f: &u32) -> &u32 {
2019-08-14T18:33:25.9665477Z 6    |
2019-08-14T18:33:25.9665477Z 6    |
2019-08-14T18:33:25.9665736Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#28r
2019-08-14T18:33:25.9665993Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#23r
2019-08-14T18:33:25.9666133Z 9 error: lifetime may not live long enough
2019-08-14T18:33:25.9666364Z 10   --> $DIR/lt-ref-self-async.rs:15:47
2019-08-14T18:33:25.9666412Z 
2019-08-14T18:33:25.9666412Z 
2019-08-14T18:33:25.9666643Z 24 LL |     async fn ref_Self(self: &Self, f: &u32) -> &u32 {
2019-08-14T18:33:25.9666799Z 26    |
2019-08-14T18:33:25.9666799Z 26    |
2019-08-14T18:33:25.9667056Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#28r
2019-08-14T18:33:25.9667311Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#23r
2019-08-14T18:33:25.9667462Z 29 error: lifetime may not live long enough
2019-08-14T18:33:25.9667697Z 30   --> $DIR/lt-ref-self-async.rs:21:53
2019-08-14T18:33:25.9667737Z 
2019-08-14T18:33:25.9667737Z 
2019-08-14T18:33:25.9667988Z 44 LL |     async fn box_ref_Self(self: Box<&Self>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9668152Z 46    |
2019-08-14T18:33:25.9668152Z 46    |
2019-08-14T18:33:25.9668392Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#28r
2019-08-14T18:33:25.9668676Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#23r
2019-08-14T18:33:25.9668818Z 49 error: lifetime may not live long enough
2019-08-14T18:33:25.9669035Z 50   --> $DIR/lt-ref-self-async.rs:25:62
2019-08-14T18:33:25.9669092Z 
2019-08-14T18:33:25.9669092Z 
2019-08-14T18:33:25.9669326Z 64 LL |     async fn pin_ref_Self(self: Pin<&Self>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9669569Z 66    |
2019-08-14T18:33:25.9669569Z 66    |
2019-08-14T18:33:25.9669862Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#28r
2019-08-14T18:33:25.9670116Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#23r
2019-08-14T18:33:25.9670258Z 69 error: lifetime may not live long enough
2019-08-14T18:33:25.9670492Z 70   --> $DIR/lt-ref-self-async.rs:29:62
2019-08-14T18:33:25.9670532Z 
2019-08-14T18:33:25.9670532Z 
2019-08-14T18:33:25.9670793Z 84 LL |     async fn box_box_ref_Self(self: Box<Box<&Self>>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9671312Z 86    |
2019-08-14T18:33:25.9671312Z 86    |
2019-08-14T18:33:25.9671617Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#28r
2019-08-14T18:33:25.9672818Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#23r
2019-08-14T18:33:25.9672980Z 89 error: lifetime may not live long enough
2019-08-14T18:33:25.9673233Z 90   --> $DIR/lt-ref-self-async.rs:33:71
2019-08-14T18:33:25.9673297Z 
2019-08-14T18:33:25.9673297Z 
2019-08-14T18:33:25.9673566Z 104 LL |     async fn box_pin_Self(self: Box<Pin<&Self>>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9673749Z 106    |
2019-08-14T18:33:25.9673749Z 106    |
2019-08-14T18:33:25.9674034Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#28r
2019-08-14T18:33:25.9674318Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#23r
2019-08-14T18:33:25.9674747Z 109 error: lifetime may not live long enough
2019-08-14T18:33:25.9675017Z 110   --> $DIR/lt-ref-self-async.rs:37:67
2019-08-14T18:33:25.9675059Z 
2019-08-14T18:33:25.9675090Z 
2019-08-14T18:33:25.9675090Z 
2019-08-14T18:33:25.9675167Z The actual stderr differed from the expected stderr.
2019-08-14T18:33:25.9675498Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/self/elision/lt-ref-self-async.nll/lt-ref-self-async.nll.stderr
2019-08-14T18:33:25.9675781Z To update references, rerun the tests and pass the `--bless` flag
2019-08-14T18:33:25.9676051Z To only update this specific test, also pass `--test-args self/elision/lt-ref-self-async.rs`
2019-08-14T18:33:25.9676177Z error: 1 errors occurred comparing output.
2019-08-14T18:33:25.9676257Z status: exit code: 1
2019-08-14T18:33:25.9676257Z status: exit code: 1
2019-08-14T18:33:25.9677099Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/self/elision/lt-ref-self-async.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/self/elision/lt-ref-self-async.nll" "-Zborrowck=mir" "-Crpath" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--edition=2018" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/self/elision/lt-ref-self-async.nll/auxiliary" "-A" "unused"
2019-08-14T18:33:25.9677578Z ------------------------------------------
2019-08-14T18:33:25.9677622Z 
2019-08-14T18:33:25.9677850Z ------------------------------------------
2019-08-14T18:33:25.9677911Z stderr:
2019-08-14T18:33:25.9677911Z stderr:
2019-08-14T18:33:25.9678130Z ------------------------------------------
2019-08-14T18:33:25.9678210Z error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
2019-08-14T18:33:25.9678565Z    |
2019-08-14T18:33:25.9678565Z    |
2019-08-14T18:33:25.9678806Z LL |     async fn ref_self(&self, f: &u32) -> &u32 {
2019-08-14T18:33:25.9678955Z    |
2019-08-14T18:33:25.9678955Z    |
2019-08-14T18:33:25.9679193Z    = note: hidden type `impl std::future::Future` captures lifetime '_#23r
2019-08-14T18:33:25.9679313Z error: lifetime may not live long enough
2019-08-14T18:33:25.9681633Z   --> /checkout/src/test/ui/self/elision/lt-ref-self-async.rs:15:47
2019-08-14T18:33:25.9681975Z    |
2019-08-14T18:33:25.9681975Z    |
2019-08-14T18:33:25.9682395Z LL |       async fn ref_self(&self, f: &u32) -> &u32 {
2019-08-14T18:33:25.9682654Z    |  _______________________-_______________________^
2019-08-14T18:33:25.9682745Z    | |                       |
2019-08-14T18:33:25.9682995Z    | |                       lifetime `'_` defined here
2019-08-14T18:33:25.9683263Z    | |                       lifetime `'_` defined here
2019-08-14T18:33:25.9683358Z LL | |         f //~^ ERROR lifetime mismatch
2019-08-14T18:33:25.9683443Z LL | |     }
2019-08-14T18:33:25.9683756Z    | |_____^ function was supposed to return data with lifetime `'_` but it is returning data with lifetime `'_`
2019-08-14T18:33:25.9683841Z 
2019-08-14T18:33:25.9684655Z error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
2019-08-14T18:33:25.9685470Z    |
2019-08-14T18:33:25.9685470Z    |
2019-08-14T18:33:25.9685963Z LL |     async fn ref_Self(self: &Self, f: &u32) -> &u32 {
2019-08-14T18:33:25.9686131Z    |
2019-08-14T18:33:25.9686131Z    |
2019-08-14T18:33:25.9687132Z    = note: hidden type `impl std::future::Future` captures lifetime '_#23r
2019-08-14T18:33:25.9687263Z error: lifetime may not live long enough
2019-08-14T18:33:25.9687708Z   --> /checkout/src/test/ui/self/elision/lt-ref-self-async.rs:21:53
2019-08-14T18:33:25.9688044Z    |
2019-08-14T18:33:25.9688044Z    |
2019-08-14T18:33:25.9688365Z LL |       async fn ref_Self(self: &Self, f: &u32) -> &u32 {
2019-08-14T18:33:25.9688753Z    |  _____________________________-_______________________^
2019-08-14T18:33:25.9688840Z    | |                             |
2019-08-14T18:33:25.9689073Z    | |                             lifetime `'_` defined here
2019-08-14T18:33:25.9689325Z    | |                             lifetime `'_` defined here
2019-08-14T18:33:25.9689406Z LL | |         f //~^ ERROR lifetime mismatch
2019-08-14T18:33:25.9689484Z LL | |     }
2019-08-14T18:33:25.9689763Z    | |_____^ function was supposed to return data with lifetime `'_` but it is returning data with lifetime `'_`
2019-08-14T18:33:25.9689840Z 
2019-08-14T18:33:25.9689910Z error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
2019-08-14T18:33:25.9690249Z    |
2019-08-14T18:33:25.9690249Z    |
2019-08-14T18:33:25.9690507Z LL |     async fn box_ref_Self(self: Box<&Self>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9690667Z    |
2019-08-14T18:33:25.9690667Z    |
2019-08-14T18:33:25.9691329Z    = note: hidden type `impl std::future::Future` captures lifetime '_#23r
2019-08-14T18:33:25.9691472Z error: lifetime may not live long enough
2019-08-14T18:33:25.9691744Z   --> /checkout/src/test/ui/self/elision/lt-ref-self-async.rs:25:62
2019-08-14T18:33:25.9693506Z    |
2019-08-14T18:33:25.9693506Z    |
2019-08-14T18:33:25.9693909Z LL |       async fn box_ref_Self(self: Box<&Self>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9694216Z    |  _____________________________________-________________________^
2019-08-14T18:33:25.9694316Z    | |                                     |
2019-08-14T18:33:25.9694715Z    | |                                     lifetime `'_` defined here
2019-08-14T18:33:25.9694977Z    | |                                     lifetime `'_` defined here
2019-08-14T18:33:25.9695060Z LL | |         f //~^ ERROR lifetime mismatch
2019-08-14T18:33:25.9695140Z LL | |     }
2019-08-14T18:33:25.9695419Z    | |_____^ function was supposed to return data with lifetime `'_` but it is returning data with lifetime `'_`
2019-08-14T18:33:25.9695481Z 
2019-08-14T18:33:25.9695566Z error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
2019-08-14T18:33:25.9696170Z    |
2019-08-14T18:33:25.9696170Z    |
2019-08-14T18:33:25.9696499Z LL |     async fn pin_ref_Self(self: Pin<&Self>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9696661Z    |
2019-08-14T18:33:25.9696661Z    |
2019-08-14T18:33:25.9696903Z    = note: hidden type `impl std::future::Future` captures lifetime '_#23r
2019-08-14T18:33:25.9697030Z error: lifetime may not live long enough
2019-08-14T18:33:25.9697275Z   --> /checkout/src/test/ui/self/elision/lt-ref-self-async.rs:29:62
2019-08-14T18:33:25.9697371Z    |
2019-08-14T18:33:25.9697371Z    |
2019-08-14T18:33:25.9697782Z LL |       async fn pin_ref_Self(self: Pin<&Self>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9698056Z    |  _____________________________________-________________________^
2019-08-14T18:33:25.9698341Z    | |                                     |
2019-08-14T18:33:25.9698599Z    | |                                     lifetime `'_` defined here
2019-08-14T18:33:25.9699352Z    | |                                     lifetime `'_` defined here
2019-08-14T18:33:25.9699442Z LL | |         f //~^ ERROR lifetime mismatch
2019-08-14T18:33:25.9699523Z LL | |     }
2019-08-14T18:33:25.9699851Z    | |_____^ function was supposed to return data with lifetime `'_` but it is returning data with lifetime `'_`
2019-08-14T18:33:25.9699913Z 
2019-08-14T18:33:25.9700001Z error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
2019-08-14T18:33:25.9700470Z    |
2019-08-14T18:33:25.9700470Z    |
2019-08-14T18:33:25.9700773Z LL |     async fn box_box_ref_Self(self: Box<Box<&Self>>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9701147Z    |
2019-08-14T18:33:25.9701147Z    |
2019-08-14T18:33:25.9701627Z    = note: hidden type `impl std::future::Future` captures lifetime '_#23r
2019-08-14T18:33:25.9701766Z error: lifetime may not live long enough
2019-08-14T18:33:25.9702044Z   --> /checkout/src/test/ui/self/elision/lt-ref-self-async.rs:33:71
2019-08-14T18:33:25.9702136Z    |
2019-08-14T18:33:25.9702136Z    |
2019-08-14T18:33:25.9702409Z LL |       async fn box_box_ref_Self(self: Box<Box<&Self>>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9702711Z    |  _____________________________________________-_________________________^
2019-08-14T18:33:25.9702799Z    | |                                             |
2019-08-14T18:33:25.9703092Z    | |                                             lifetime `'_` defined here
2019-08-14T18:33:25.9703401Z    | |                                             lifetime `'_` defined here
2019-08-14T18:33:25.9703484Z LL | |         f //~^ ERROR lifetime mismatch
2019-08-14T18:33:25.9703570Z LL | |     }
2019-08-14T18:33:25.9705206Z    | |_____^ function was supposed to return data with lifetime `'_` but it is returning data with lifetime `'_`
2019-08-14T18:33:25.9705288Z 
2019-08-14T18:33:25.9705398Z error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
2019-08-14T18:33:25.9707635Z    |
2019-08-14T18:33:25.9707635Z    |
2019-08-14T18:33:25.9708526Z LL |     async fn box_pin_Self(self: Box<Pin<&Self>>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9708716Z    |
2019-08-14T18:33:25.9708716Z    |
2019-08-14T18:33:25.9708999Z    = note: hidden type `impl std::future::Future` captures lifetime '_#23r
2019-08-14T18:33:25.9709256Z error: lifetime may not live long enough
2019-08-14T18:33:25.9709511Z   --> /checkout/src/test/ui/self/elision/lt-ref-self-async.rs:37:67
2019-08-14T18:33:25.9709599Z    |
2019-08-14T18:33:25.9709599Z    |
2019-08-14T18:33:25.9709847Z LL |       async fn box_pin_Self(self: Box<Pin<&Self>>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9710127Z    |  _________________________________________-_________________________^
2019-08-14T18:33:25.9710205Z    | |                                         |
2019-08-14T18:33:25.9718850Z    | |                                         lifetime `'_` defined here
2019-08-14T18:33:25.9719546Z    | |                                         lifetime `'_` defined here
2019-08-14T18:33:25.9719637Z LL | |         f //~^ ERROR lifetime mismatch
2019-08-14T18:33:25.9719725Z LL | |     }
2019-08-14T18:33:25.9720219Z    | |_____^ function was supposed to return data with lifetime `'_` but it is returning data with lifetime `'_`
2019-08-14T18:33:25.9721113Z error: aborting due to 12 previous errors
2019-08-14T18:33:25.9721160Z 
2019-08-14T18:33:25.9721629Z For more information about this error, try `rustc --explain E0700`.
2019-08-14T18:33:25.9721689Z 
2019-08-14T18:33:25.9721689Z 
2019-08-14T18:33:25.9721950Z ------------------------------------------
2019-08-14T18:33:25.9721996Z 
2019-08-14T18:33:25.9722030Z 
2019-08-14T18:33:25.9722300Z ---- [ui (nll)] ui/self/elision/ref-mut-self-async.rs stdout ----
2019-08-14T18:33:25.9722377Z diff of stderr:
2019-08-14T18:33:25.9722417Z 
2019-08-14T18:33:25.9722694Z 4 LL |     async fn ref_self(&mut self, f: &u32) -> &u32 {
2019-08-14T18:33:25.9722869Z 6    |
2019-08-14T18:33:25.9722869Z 6    |
2019-08-14T18:33:25.9723142Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#18r
2019-08-14T18:33:25.9723446Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
2019-08-14T18:33:25.9723604Z 9 error: lifetime may not live long enough
2019-08-14T18:33:25.9724159Z 10   --> $DIR/ref-mut-self-async.rs:15:51
2019-08-14T18:33:25.9724222Z 
2019-08-14T18:33:25.9724222Z 
2019-08-14T18:33:25.9724586Z 24 LL |     async fn ref_Self(self: &mut Self, f: &u32) -> &u32 {
2019-08-14T18:33:25.9724768Z 26    |
2019-08-14T18:33:25.9724768Z 26    |
2019-08-14T18:33:25.9725060Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#18r
2019-08-14T18:33:25.9725343Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
2019-08-14T18:33:25.9725497Z 29 error: lifetime may not live long enough
2019-08-14T18:33:25.9726103Z 30   --> $DIR/ref-mut-self-async.rs:21:57
2019-08-14T18:33:25.9726153Z 
2019-08-14T18:33:25.9726153Z 
2019-08-14T18:33:25.9726432Z 44 LL |     async fn box_ref_Self(self: Box<&mut Self>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9726611Z 46    |
2019-08-14T18:33:25.9726611Z 46    |
2019-08-14T18:33:25.9726882Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#18r
2019-08-14T18:33:25.9727176Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
2019-08-14T18:33:25.9727330Z 49 error: lifetime may not live long enough
2019-08-14T18:33:25.9727565Z 50   --> $DIR/ref-mut-self-async.rs:25:66
2019-08-14T18:33:25.9727626Z 
2019-08-14T18:33:25.9727626Z 
2019-08-14T18:33:25.9727883Z 64 LL |     async fn pin_ref_Self(self: Pin<&mut Self>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9728068Z 66    |
2019-08-14T18:33:25.9728068Z 66    |
2019-08-14T18:33:25.9728350Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#18r
2019-08-14T18:33:25.9728626Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
2019-08-14T18:33:25.9728775Z 69 error: lifetime may not live long enough
2019-08-14T18:33:25.9729023Z 70   --> $DIR/ref-mut-self-async.rs:29:66
2019-08-14T18:33:25.9729076Z 
2019-08-14T18:33:25.9729076Z 
2019-08-14T18:33:25.9729363Z 84 LL |     async fn box_box_ref_Self(self: Box<Box<&mut Self>>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9729551Z 86    |
2019-08-14T18:33:25.9729551Z 86    |
2019-08-14T18:33:25.9729810Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#18r
2019-08-14T18:33:25.9730099Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
2019-08-14T18:33:25.9730360Z 89 error: lifetime may not live long enough
2019-08-14T18:33:25.9731155Z 90   --> $DIR/ref-mut-self-async.rs:33:75
2019-08-14T18:33:25.9731206Z 
2019-08-14T18:33:25.9731206Z 
2019-08-14T18:33:25.9731534Z 104 LL |     async fn box_pin_ref_Self(self: Box<Pin<&mut Self>>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9731930Z 106    |
2019-08-14T18:33:25.9731930Z 106    |
2019-08-14T18:33:25.9732256Z -    = note: hidden type `impl std::future::Future` captures lifetime '_#18r
2019-08-14T18:33:25.9732556Z +    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
2019-08-14T18:33:25.9732714Z 109 error: lifetime may not live long enough
2019-08-14T18:33:25.9732973Z 110   --> $DIR/ref-mut-self-async.rs:37:75
2019-08-14T18:33:25.9733020Z 
2019-08-14T18:33:25.9733055Z 
2019-08-14T18:33:25.9733055Z 
2019-08-14T18:33:25.9733175Z The actual stderr differed from the expected stderr.
2019-08-14T18:33:25.9733545Z Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/self/elision/ref-mut-self-async.nll/ref-mut-self-async.nll.stderr
2019-08-14T18:33:25.9733865Z To update references, rerun the tests and pass the `--bless` flag
2019-08-14T18:33:25.9734379Z To only update this specific test, also pass `--test-args self/elision/ref-mut-self-async.rs`
2019-08-14T18:33:25.9734513Z error: 1 errors occurred comparing output.
2019-08-14T18:33:25.9734597Z status: exit code: 1
2019-08-14T18:33:25.9734597Z status: exit code: 1
2019-08-14T18:33:25.9735821Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/self/elision/ref-mut-self-async.rs" "-Zthreads=1" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "--out-dir" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/self/elision/ref-mut-self-async.nll" "-Zborrowck=mir" "-Crpath" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--edition=2018" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/self/elision/ref-mut-self-async.nll/auxiliary" "-A" "unused"
2019-08-14T18:33:25.9736535Z ------------------------------------------
2019-08-14T18:33:25.9736583Z 
2019-08-14T18:33:25.9736827Z ------------------------------------------
2019-08-14T18:33:25.9736894Z stderr:
2019-08-14T18:33:25.9736894Z stderr:
2019-08-14T18:33:25.9737129Z ------------------------------------------
2019-08-14T18:33:25.9737216Z error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
2019-08-14T18:33:25.9737601Z    |
2019-08-14T18:33:25.9737601Z    |
2019-08-14T18:33:25.9737889Z LL |     async fn ref_self(&mut self, f: &u32) -> &u32 { //~ ERROR lifetime mismatch
2019-08-14T18:33:25.9738061Z    |
2019-08-14T18:33:25.9738061Z    |
2019-08-14T18:33:25.9738327Z    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
2019-08-14T18:33:25.9738457Z error: lifetime may not live long enough
2019-08-14T18:33:25.9738820Z   --> /checkout/src/test/ui/self/elision/ref-mut-self-async.rs:15:51
2019-08-14T18:33:25.9738894Z    |
2019-08-14T18:33:25.9738894Z    |
2019-08-14T18:33:25.9739289Z LL |       async fn ref_self(&mut self, f: &u32) -> &u32 { //~ ERROR lifetime mismatch
2019-08-14T18:33:25.9739731Z    |  _______________________-___________________________^
2019-08-14T18:33:25.9739825Z    | |                       |
2019-08-14T18:33:25.9740081Z    | |                       lifetime `'_` defined here
2019-08-14T18:33:25.9740346Z    | |                       lifetime `'_` defined here
2019-08-14T18:33:25.9740494Z LL | |     }
2019-08-14T18:33:25.9740494Z LL | |     }
2019-08-14T18:33:25.9740833Z    | |_____^ function was supposed to return data with lifetime `'_` but it is returning data with lifetime `'_`
2019-08-14T18:33:25.9741684Z 
2019-08-14T18:33:25.9741890Z error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
2019-08-14T18:33:25.9742351Z    |
2019-08-14T18:33:25.9742351Z    |
2019-08-14T18:33:25.9742624Z LL |     async fn ref_Self(self: &mut Self, f: &u32) -> &u32 {
2019-08-14T18:33:25.9742799Z    |
2019-08-14T18:33:25.9742799Z    |
2019-08-14T18:33:25.9743067Z    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
2019-08-14T18:33:25.9743211Z error: lifetime may not live long enough
2019-08-14T18:33:25.9743706Z   --> /checkout/src/test/ui/self/elision/ref-mut-self-async.rs:21:57
2019-08-14T18:33:25.9743788Z    |
2019-08-14T18:33:25.9743788Z    |
2019-08-14T18:33:25.9744091Z LL |       async fn ref_Self(self: &mut Self, f: &u32) -> &u32 {
2019-08-14T18:33:25.9744361Z    |  _____________________________-___________________________^
2019-08-14T18:33:25.9744456Z    | |                             |
2019-08-14T18:33:25.9744876Z    | |                             lifetime `'_` defined here
2019-08-14T18:33:25.9745147Z    | |                             lifetime `'_` defined here
2019-08-14T18:33:25.9745222Z LL | |         f //~^ ERROR lifetime mismatch
2019-08-14T18:33:25.9745308Z LL | |     }
2019-08-14T18:33:25.9745602Z    | |_____^ function was supposed to return data with lifetime `'_` but it is returning data with lifetime `'_`
2019-08-14T18:33:25.9745683Z 
2019-08-14T18:33:25.9745757Z error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
2019-08-14T18:33:25.9746303Z    |
2019-08-14T18:33:25.9746303Z    |
2019-08-14T18:33:25.9746576Z LL |     async fn box_ref_Self(self: Box<&mut Self>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9746757Z    |
2019-08-14T18:33:25.9746757Z    |
2019-08-14T18:33:25.9747195Z    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
2019-08-14T18:33:25.9747339Z error: lifetime may not live long enough
2019-08-14T18:33:25.9747618Z   --> /checkout/src/test/ui/self/elision/ref-mut-self-async.rs:25:66
2019-08-14T18:33:25.9747691Z    |
2019-08-14T18:33:25.9747691Z    |
2019-08-14T18:33:25.9747961Z LL |       async fn box_ref_Self(self: Box<&mut Self>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9748229Z    |  _____________________________________-____________________________^
2019-08-14T18:33:25.9748323Z    | |                                     |
2019-08-14T18:33:25.9748590Z    | |                                     lifetime `'_` defined here
2019-08-14T18:33:25.9748867Z    | |                                     lifetime `'_` defined here
2019-08-14T18:33:25.9748947Z LL | |         f //~^ ERROR lifetime mismatch
2019-08-14T18:33:25.9749028Z LL | |     }
2019-08-14T18:33:25.9749484Z    | |_____^ function was supposed to return data with lifetime `'_` but it is returning data with lifetime `'_`
2019-08-14T18:33:25.9749561Z 
2019-08-14T18:33:25.9749639Z error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
2019-08-14T18:33:25.9750115Z    |
2019-08-14T18:33:25.9750115Z    |
2019-08-14T18:33:25.9750411Z LL |     async fn pin_ref_Self(self: Pin<&mut Self>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9750578Z    |
2019-08-14T18:33:25.9750578Z    |
2019-08-14T18:33:25.9750827Z    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
2019-08-14T18:33:25.9751645Z error: lifetime may not live long enough
2019-08-14T18:33:25.9751967Z   --> /checkout/src/test/ui/self/elision/ref-mut-self-async.rs:29:66
2019-08-14T18:33:25.9752042Z    |
2019-08-14T18:33:25.9752042Z    |
2019-08-14T18:33:25.9752321Z LL |       async fn pin_ref_Self(self: Pin<&mut Self>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9752600Z    |  _____________________________________-____________________________^
2019-08-14T18:33:25.9752803Z    | |                                     |
2019-08-14T18:33:25.9753297Z    | |                                     lifetime `'_` defined here
2019-08-14T18:33:25.9753611Z    | |                                     lifetime `'_` defined here
2019-08-14T18:33:25.9753692Z LL | |         f //~^ ERROR lifetime mismatch
2019-08-14T18:33:25.9753781Z LL | |     }
2019-08-14T18:33:25.9754091Z    | |_____^ function was supposed to return data with lifetime `'_` but it is returning data with lifetime `'_`
2019-08-14T18:33:25.9754185Z 
2019-08-14T18:33:25.9754261Z error[E0700]: hidden type for `impl Trait` captures lifetime that does not appear in bounds
2019-08-14T18:33:25.9754845Z    |
2019-08-14T18:33:25.9754845Z    |
2019-08-14T18:33:25.9755117Z LL |     async fn box_box_ref_Self(self: Box<Box<&mut Self>>, f: &u32) -> &u32 {
2019-08-14T18:33:25.9755302Z    |
2019-08-14T18:33:25.9755302Z    |
2019-08-14T18:33:25.9755551Z    = note: hidden type `impl std::future::Future` captures lifetime '_#15r
---
2019-08-14T18:33:25.9907070Z thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:536:22
2019-08-14T18:33:25.9907165Z note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
2019-08-14T18:33:25.9907273Z 
2019-08-14T18:33:25.9907314Z 
2019-08-14T18:33:25.9909059Z command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" "--host-rustcflags" "-Crpath -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--llvm-version" "9.0.0-rust-1.39.0-dev\n" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always" "--compare-mode" "nll"
2019-08-14T18:33:25.9909720Z 
2019-08-14T18:33:25.9909763Z 
2019-08-14T18:33:25.9909826Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-08-14T18:33:25.9909914Z Build completed unsuccessfully in 1:55:14
2019-08-14T18:33:25.9909914Z Build completed unsuccessfully in 1:55:14
2019-08-14T18:33:25.9909979Z == clock drift check ==
2019-08-14T18:33:25.9910052Z   local time: Wed Aug 14 18:33:25 UTC 2019
2019-08-14T18:33:26.1394411Z   network time: Wed, 14 Aug 2019 18:33:26 GMT
2019-08-14T18:33:26.1394698Z == end clock drift check ==
2019-08-14T18:33:26.8909450Z ##[error]Bash exited with code '1'.
2019-08-14T18:33:26.8949613Z ##[section]Starting: Upload CPU usage statistics
2019-08-14T18:33:26.8957787Z ==============================================================================
2019-08-14T18:33:26.8957872Z Task         : Bash
2019-08-14T18:33:26.8957957Z Description  : Run a Bash script on macOS, Linux, or Windows

I'm a bot! I can only do what humans tell me to, so if this was not helpful or you have suggestions for improvements, please ping or otherwise contact @TimNN. (Feature Requests)

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels Aug 14, 2019
@Centril Centril closed this Aug 14, 2019
@Centril Centril deleted the rollup-j9nld0c branch August 14, 2019 18:41
@Centril Centril added the rollup A PR which is a rollup label Oct 24, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
rollup A PR which is a rollup S-waiting-on-review Status: Awaiting review from the assignee but also interested parties.
Projects
None yet
Development

Successfully merging this pull request may close these issues.