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

[WIP] Stabilize `bind_by_move_pattern_guards` in Rust 1.39.0 #63118

Open
wants to merge 5 commits into
base: master
from

Conversation

@Centril
Copy link
Member

commented Jul 29, 2019

cc #15287

TODO:

  • Write stabilization report.

r? @matthewjasper

@rust-highfive

This comment was marked as resolved.

Copy link
Collaborator

commented Jul 30, 2019

The job x86_64-gnu-llvm-6.0 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-07-29T23:42:42.2851884Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-07-29T23:42:42.3055020Z ##[command]git config gc.auto 0
2019-07-29T23:42:42.3147132Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-07-29T23:42:42.3215323Z ##[command]git config --get-all http.proxy
2019-07-29T23:42:42.3363392Z ##[command]git -c http.extraheader="AUTHORIZATION: basic ***" fetch --force --tags --prune --progress --no-recurse-submodules --depth=2 origin +refs/heads/*:refs/remotes/origin/* +refs/pull/63118/merge:refs/remotes/pull/63118/merge
---
2019-07-29T23:43:17.0348621Z do so (now or later) by using -b with the checkout command again. Example:
2019-07-29T23:43:17.0348907Z 
2019-07-29T23:43:17.0349182Z   git checkout -b <new-branch-name>
2019-07-29T23:43:17.0349214Z 
2019-07-29T23:43:17.0349288Z HEAD is now at eb55501e2 Merge d383e5ece598f14745ba9f9bd804e95809cfc830 into 04b88a9eba8abbac87eddcb2998beea09589c2c9
2019-07-29T23:43:17.0515465Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-07-29T23:43:17.0519046Z ==============================================================================
2019-07-29T23:43:17.0519106Z Task         : Bash
2019-07-29T23:43:17.0519410Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-07-30T00:48:39.3929848Z .................................................................................................... 1400/8801
2019-07-30T00:48:45.8666584Z .................................................................................................... 1500/8801
2019-07-30T00:48:59.7898733Z .................................................................i...............i.................. 1600/8801
2019-07-30T00:49:07.9239390Z .................................................................................................... 1700/8801
2019-07-30T00:49:24.2855515Z ...................................................iiiii............................................ 1800/8801
2019-07-30T00:49:36.8811594Z .................................................................................................... 2000/8801
2019-07-30T00:49:39.2868703Z .................................................................................................... 2100/8801
2019-07-30T00:49:43.5313773Z .................................................................................................... 2200/8801
2019-07-30T00:49:50.7093551Z .................................................................................................... 2300/8801
---
2019-07-30T00:53:58.3050310Z .................................................................................................... 5200/8801
2019-07-30T00:54:10.0036707Z .................................................................................................... 5300/8801
2019-07-30T00:54:18.2182098Z ..i................................................................................................. 5400/8801
2019-07-30T00:54:24.0194175Z .................................................................................................... 5500/8801
2019-07-30T00:54:37.2056711Z ................................................................................................ii.. 5600/8801
2019-07-30T00:54:53.0363108Z .i..ii...........i.................................................................................. 5700/8801
2019-07-30T00:55:11.6423713Z .................................................................................................... 5900/8801
2019-07-30T00:55:16.8984171Z .................................................................................................i.. 6000/8801
2019-07-30T00:55:32.3101894Z ii.................................................................................................. 6100/8801
2019-07-30T00:55:50.1443484Z .................................................................................................... 6200/8801
---
2019-07-30T01:01:08.9213451Z  finished in 25.067
2019-07-30T01:01:08.9417744Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-30T01:01:09.1284930Z 
2019-07-30T01:01:09.1285221Z running 146 tests
2019-07-30T01:01:12.7076866Z i....iii......iii..iiii....i............................i..i................i....i.........ii.i.i..i 100/146
2019-07-30T01:01:14.7335411Z iii..............i.........iii.i......ii......
2019-07-30T01:01:14.7336730Z 
2019-07-30T01:01:14.7341647Z  finished in 5.792
2019-07-30T01:01:14.7533101Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-30T01:01:15.5608538Z 
---
2019-07-30T01:01:17.2134813Z  finished in 2.460
2019-07-30T01:01:17.2369916Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-30T01:01:17.4070221Z 
2019-07-30T01:01:17.4072833Z running 9 tests
2019-07-30T01:01:17.4080392Z iiiiiiiii
2019-07-30T01:01:17.4102132Z 
2019-07-30T01:01:17.4102209Z  finished in 0.170
2019-07-30T01:01:17.4295919Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-30T01:01:18.5600088Z 
---
2019-07-30T01:01:37.7174955Z  finished in 20.288
2019-07-30T01:01:37.7394464Z Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-30T01:01:37.9250540Z 
2019-07-30T01:01:37.9251306Z running 122 tests
2019-07-30T01:02:04.5005255Z .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....i..........iiii..........i...ii...i.......ii.i 100/122
2019-07-30T01:02:09.7292307Z .i.i......iii.i.....ii
2019-07-30T01:02:09.7293502Z 
2019-07-30T01:02:09.7293901Z  finished in 31.990
2019-07-30T01:02:09.7302188Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-30T01:02:09.7302553Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2019-07-30T01:17:31.4343292Z 
2019-07-30T01:17:31.4344818Z    Doc-tests core
2019-07-30T01:17:35.9345328Z 
2019-07-30T01:17:35.9346163Z running 2379 tests
2019-07-30T01:17:49.9644030Z ......iiiii......................................................................................... 100/2379
2019-07-30T01:18:03.7474267Z .........................................................................ii......................... 200/2379
2019-07-30T01:18:37.0533083Z .................................................................................................... 400/2379
2019-07-30T01:18:37.0533083Z .................................................................................................... 400/2379
2019-07-30T01:18:49.5886640Z ..............................i..i.................iiii............................................. 500/2379
2019-07-30T01:19:15.8769000Z .................................................................................................... 700/2379
2019-07-30T01:19:29.4363074Z .................................................................................................... 800/2379
2019-07-30T01:19:43.8608091Z .................................................................................................... 900/2379
2019-07-30T01:19:57.3947334Z .................................................................................................... 1000/2379
---
2019-07-30T01:25:48.0346935Z 
2019-07-30T01:25:48.0347168Z running 989 tests
2019-07-30T01:26:14.3454744Z i................................................................................................... 100/989
2019-07-30T01:26:28.9212521Z .................................................................................................... 200/989
2019-07-30T01:26:38.7526376Z .................iii......i......i...i......i....................................................... 300/989
2019-07-30T01:26:44.1806418Z .................................................................................................... 400/989
2019-07-30T01:26:53.4549982Z ................................i..i.................................ii............................. 500/989
2019-07-30T01:27:10.0886409Z .................................................................................................... 700/989
2019-07-30T01:27:10.0886409Z .................................................................................................... 700/989
2019-07-30T01:27:19.6538395Z ...............i.iii................................................................................ 800/989
2019-07-30T01:27:35.5032506Z .................................................................................................... 900/989
2019-07-30T01:27:43.8917895Z .....................................iiii................................................
2019-07-30T01:27:43.8919484Z 
2019-07-30T01:27:43.9137890Z  finished in 266.373
2019-07-30T01:27:43.9155438Z Testing unwind stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-30T01:27:44.1245084Z     Finished release [optimized] target(s) in 0.20s
---
2019-07-30T01:48:43.7826574Z Testing error-index stage2
2019-07-30T01:48:43.7935018Z doc tests for: /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md
2019-07-30T01:49:20.9547575Z 
2019-07-30T01:49:20.9547967Z 
2019-07-30T01:49:20.9549249Z command did not execute successfully: "/checkout/obj/build/bootstrap/debug/rustdoc" "--test" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md" "--test-args" ""
2019-07-30T01:49:20.9549517Z 
2019-07-30T01:49:20.9549776Z stdout ----
2019-07-30T01:49:20.9549808Z 
2019-07-30T01:49:20.9549849Z running 712 tests
---
2019-07-30T01:49:20.9848622Z test /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md - Rust_Compiler_Error_Index::E0733 (line 11897) ... ok
2019-07-30T01:49:20.9848665Z 
2019-07-30T01:49:20.9849141Z failures:
2019-07-30T01:49:20.9849208Z 
2019-07-30T01:49:20.9849622Z ---- /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md - Rust_Compiler_Error_Index::E0008 (line 165) stdout ----
2019-07-30T01:49:20.9849877Z Test compiled successfully, but it's marked `compile_fail`.
2019-07-30T01:49:20.9850187Z ---- /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md - Rust_Compiler_Error_Index::E0008 (line 189) stdout ----
2019-07-30T01:49:20.9850266Z error[E0507]: cannot move out of `y` in pattern guard
2019-07-30T01:49:20.9850535Z   --> /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md:201:20
2019-07-30T01:49:20.9850587Z    |
2019-07-30T01:49:20.9850652Z 13 |         Some(y) if y.consume() > 0 => {}
2019-07-30T01:49:20.9850709Z    |                    ^ move occurs because `y` has type `A`, which does not implement the `Copy` trait
2019-07-30T01:49:20.9850771Z    |
2019-07-30T01:49:20.9850848Z    = note: variables bound in patterns cannot be moved from until after the end of the pattern guard
2019-07-30T01:49:20.9850930Z error: aborting due to previous error
2019-07-30T01:49:20.9850960Z 
2019-07-30T01:49:20.9851237Z For more information about this error, try `rustc --explain E0507`.
2019-07-30T01:49:20.9851237Z For more information about this error, try `rustc --explain E0507`.
2019-07-30T01:49:20.9851293Z Some expected error codes were not found: ["E0008"]
2019-07-30T01:49:20.9851601Z ---- /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md - Rust_Compiler_Error_Index::E0301 (line 4711) stdout ----
2019-07-30T01:49:20.9851685Z error[E0596]: cannot borrow `option` as mutable, as it is immutable for the pattern guard
2019-07-30T01:49:20.9852367Z  --> /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md:4714:15
2019-07-30T01:49:20.9852422Z   |
2019-07-30T01:49:20.9852490Z 5 |     option if option.take().is_none() => {
2019-07-30T01:49:20.9852550Z   |               ^^^^^^ cannot borrow as mutable
2019-07-30T01:49:20.9852594Z   |
2019-07-30T01:49:20.9852670Z   = note: variables bound in patterns are immutable until the end of the pattern guard
2019-07-30T01:49:20.9853225Z error: aborting due to previous error
2019-07-30T01:49:20.9853256Z 
2019-07-30T01:49:20.9853615Z For more information about this error, try `rustc --explain E0596`.
2019-07-30T01:49:20.9853615Z For more information about this error, try `rustc --explain E0596`.
2019-07-30T01:49:20.9853672Z Some expected error codes were not found: ["E0301"]
2019-07-30T01:49:20.9853994Z ---- /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md - Rust_Compiler_Error_Index::E0302 (line 4729) stdout ----
2019-07-30T01:49:20.9854075Z error[E0594]: cannot assign to `option`, as it is immutable for the pattern guard
2019-07-30T01:49:20.9854344Z  --> /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md:4732:17
2019-07-30T01:49:20.9854394Z   |
2019-07-30T01:49:20.9854458Z 5 |     option if { option = None; false } => { },
2019-07-30T01:49:20.9854565Z   |
2019-07-30T01:49:20.9854565Z   |
2019-07-30T01:49:20.9854621Z   = note: variables bound in patterns are immutable until the end of the pattern guard
2019-07-30T01:49:20.9854717Z error: aborting due to previous error
2019-07-30T01:49:20.9854746Z 
2019-07-30T01:49:20.9854746Z 
2019-07-30T01:49:20.9854791Z Some expected error codes were not found: ["E0302"]
2019-07-30T01:49:20.9854879Z failures:
2019-07-30T01:49:20.9855192Z     /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md - Rust_Compiler_Error_Index::E0008 (line 165)
2019-07-30T01:49:20.9855673Z     /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md - Rust_Compiler_Error_Index::E0008 (line 189)
2019-07-30T01:49:20.9855962Z     /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md - Rust_Compiler_Error_Index::E0301 (line 4711)
---
2019-07-30T01:49:20.9857296Z 
2019-07-30T01:49:20.9857319Z 
2019-07-30T01:49:20.9857361Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-07-30T01:49:20.9857422Z Build completed unsuccessfully in 1:59:36
2019-07-30T01:49:21.7955440Z ##[error]Bash exited with code '1'.
2019-07-30T01:49:21.7996442Z ##[section]Starting: Checkout
2019-07-30T01:49:21.7999080Z ==============================================================================
2019-07-30T01:49:21.7999156Z Task         : Get sources
2019-07-30T01:49:21.7999203Z Description  : Get sources from a repository. Supports Git, TfsVC, and SVN repositories.

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)

Centril added a commit to Centril/rust that referenced this pull request Aug 1, 2019

Rollup merge of rust-lang#63059 - Centril:sound-bind-by-move, r=matth…
…ewjasper

Make `#![feature(bind_by_move_pattern_guards)]` sound without `#[feature(nll)]`

Implements rust-lang#15287 (comment) making `#![feature(bind_by_move_pattern_guards)]]` sound without also having `#![feature(nll)]`. The logic here is that if we see a `match` guard, we will refuse to downgrade NLL errors to warnings. This is in preparation for hopefully stabilizing the former feature in rust-lang#63118.

As fall out from the implementation we also:
Fixes rust-lang#31287
Fixes rust-lang#27282

r? @matthewjasper

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

Auto merge of #63059 - Centril:sound-bind-by-move, r=matthewjasper
Make `#![feature(bind_by_move_pattern_guards)]` sound without `#[feature(nll)]`

Implements #15287 (comment) making `#![feature(bind_by_move_pattern_guards)]]` sound without also having `#![feature(nll)]`. The logic here is that if we see a `match` guard, we will refuse to downgrade NLL errors to warnings. This is in preparation for hopefully stabilizing the former feature in #63118.

As fall out from the implementation we also:
Fixes #31287
Fixes #27282

r? @matthewjasper

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

Auto merge of #63059 - Centril:sound-bind-by-move, r=matthewjasper
Make `#![feature(bind_by_move_pattern_guards)]` sound without `#[feature(nll)]`

Implements #15287 (comment) making `#![feature(bind_by_move_pattern_guards)]]` sound without also having `#![feature(nll)]`. The logic here is that if we see a `match` guard, we will refuse to downgrade NLL errors to warnings. This is in preparation for hopefully stabilizing the former feature in #63118.

As fall out from the implementation we also:
Fixes #31287
Fixes #27282

r? @matthewjasper

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

Auto merge of #63059 - Centril:sound-bind-by-move, r=matthewjasper
Make `#![feature(bind_by_move_pattern_guards)]` sound without `#[feature(nll)]`

Implements #15287 (comment) making `#![feature(bind_by_move_pattern_guards)]]` sound without also having `#![feature(nll)]`. The logic here is that if we see a `match` guard, we will refuse to downgrade NLL errors to warnings. This is in preparation for hopefully stabilizing the former feature in #63118.

As fall out from the implementation we also:
Fixes #31287
Fixes #27282

r? @matthewjasper
@bors

This comment was marked as resolved.

Copy link
Contributor

commented Aug 4, 2019

☔️ The latest upstream changes (presumably #63059) made this pull request unmergeable. Please resolve the merge conflicts.

@Centril Centril force-pushed the Centril:stabilize-bind-by-move branch from d23bcda to 3193e31 Aug 4, 2019

@bors

This comment has been minimized.

Copy link
Contributor

commented Aug 10, 2019

☔️ The latest upstream changes (presumably #63428) made this pull request unmergeable. Please resolve the merge conflicts.

@JohnCSimon

This comment has been minimized.

Copy link

commented Aug 17, 2019

Ping from triage
@Centril This one has sat idle for the last 13 days. Can you please post your status on this?

@Centril

This comment has been minimized.

Copy link
Member Author

commented Aug 17, 2019

(This is waiting on me writing a report (the PR itself is done) and then FCP-merging that. It should be done by end of week.)

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