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

Initial implementation of or-patterns #61708

Open
wants to merge 2 commits into
base: master
from

Conversation

@dlrobertson
Copy link
Contributor

commented Jun 10, 2019

An incomplete implementation of or-patterns (e.g. Some(0 | 1) as a pattern). This patch set aims to implement initial parsing of or-patterns.

Related to: #54883

CC @alexreg @varkor
r? @Centril

@dlrobertson
Copy link
Contributor Author

left a comment

Comments and critiques on how or-patterns are parsed would be very much appreciated.

PatternKind::AscribeUserType { .. } |
PatternKind::Array { .. } |
PatternKind::Wild |
PatternKind::Binding { .. } |
PatternKind::Leaf { .. } |
PatternKind::Deref { .. } => {
self.error_simplifyable(match_pair)
None

This comment has been minimized.

Copy link
@dlrobertson

dlrobertson Jun 10, 2019

Author Contributor

My current plan is to lower each "subpattern" here and create the TestKind::Or variant that will contain the TestKind's for the "subpatterns"

Show resolved Hide resolved src/libsyntax/parse/parser.rs Outdated
Show resolved Hide resolved src/librustc_mir/hair/pattern/mod.rs Outdated
Show resolved Hide resolved src/libsyntax/feature_gate.rs Outdated
@@ -630,6 +631,9 @@ pub enum PatKind {
/// `0 <= position <= subpats.len()`.
TupleStruct(Path, Vec<P<Pat>>, Option<usize>),

/// An or-pattern `A | B | C`.
Or(Vec<P<Pat>>),

This comment has been minimized.

Copy link
@Centril

Centril Jun 10, 2019

Member

So I would expect us to have:

pub struct Arm {
    pub hir_id: HirId,
    pub span: Span,
    pub attrs: HirVec<Attribute>,
    pub pat: P<Pat>,  // <-- It is `pub pats: HirVec<P<Pat>>,` right now.
    pub guard: Option<Guard>,
    pub body: P<Expr>,
}

after this PR. To do this, fn parse_pats, preferably renamed to fn parse_top_pat, should return a P<Pat> but allow a leading | (first line: self.eat(&token::BinOp(token::Or));) and then immediately use a fn parse_pat_allow_top_alt.

I think you can follow the grammar rules in the RFC quite literally.

@Centril

This comment has been minimized.

Copy link
Member

commented Jun 10, 2019

r? @varkor

@rust-highfive rust-highfive assigned varkor and unassigned Centril Jun 10, 2019

@Centril

This comment was marked as outdated.

Copy link
Member

commented Jun 10, 2019

The lower parts of the compiler look good but I don't think I'm qualified yet to review changes to HAIR/MIR.
The parser will need a lot of adjustment tho I think.

@petrochenkov petrochenkov self-assigned this Jun 10, 2019

@petrochenkov petrochenkov removed their assignment Jun 10, 2019

@bors

This comment was marked as resolved.

Copy link
Contributor

commented Jun 11, 2019

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

@dlrobertson dlrobertson force-pushed the dlrobertson:or-patterns-0 branch from e8dcd89 to 5ec4ea1 Jun 13, 2019

@dlrobertson dlrobertson force-pushed the dlrobertson:or-patterns-0 branch from 5ec4ea1 to b185161 Jun 21, 2019

@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

commented Jun 21, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (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.
travis_time:end:169207d4:start=1561137905728027532,finish=1561137906616550037,duration=888522505
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---
[00:56:23] ...........................................................................ii...i..ii............... 3600/5694
[00:56:27] .................................................................................................... 3700/5694
[00:56:30] .................................................................................................... 3800/5694
[00:56:34] .....................................................................................ii............. 3900/5694
[00:56:37] .............................................F...................................................... 4000/5694
[00:56:41] ........................................................................i........................... 4200/5694
[00:56:43] .................................................................................................... 4300/5694
[00:56:51] .................................................................................................... 4400/5694
[00:57:01] .................................................................................................... 4500/5694
---
[00:57:45] .................................................................................................... 5600/5694
[00:57:48] ................................i.............................................................
[00:57:48] failures:
[00:57:48] 
[00:57:48] ---- [ui] ui/or-patterns/mix-with-wild.rs stdout ----
[00:57:48] 
[00:57:48] error: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:10: unexpected error: '10:14: 10:19: src/librustc_mir/build/matches/test.rs:916: simplifyable pattern found: Pattern { ty: usize, span: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:10:14: 10:19, kind: Or { pats: [Pattern { ty: usize, span: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:10:14: 10:15, kind: Constant { value: Const { ty: usize, val: Scalar(0x0000000000000000) } } }, Pattern { ty: usize, span: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:10:18: 10:19, kind: Wild }] } }'
[00:57:48] error: 1 unexpected errors found, 0 expected errors not found
[00:57:48] status: exit code: 101
[00:57:48] status: exit code: 101
[00:57:48] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/or-patterns/mix-with-wild.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/or-patterns/mix-with-wild" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/or-patterns/mix-with-wild/auxiliary" "-A" "unused"
[00:57:48]     Error {
[00:57:48]         line_num: 10,
[00:57:48]         kind: Some(
[00:57:48]             Error,
[00:57:48]             Error,
[00:57:48]         ),
[00:57:48]         msg: "10:14: 10:19: src/librustc_mir/build/matches/test.rs:916: simplifyable pattern found: Pattern { ty: usize, span: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:10:14: 10:19, kind: Or { pats: [Pattern { ty: usize, span: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:10:14: 10:15, kind: Constant { value: Const { ty: usize, val: Scalar(0x0000000000000000) } } }, Pattern { ty: usize, span: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:10:18: 10:19, kind: Wild }] } }",
[00:57:48] ]
[00:57:48] 
[00:57:48] 
[00:57:48] thread '[" "--llvm-version" "6.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[00:57:48] 
[00:57:48] 
[00:57:48] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:57:48] Build completed unsuccessfully in 0:53:09
---
travis_time:end:03c6f9f0:start=1561141387160878554,finish=1561141387165681576,duration=4803022
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:02532850
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; t

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)

@dlrobertson dlrobertson force-pushed the dlrobertson:or-patterns-0 branch 3 times, most recently from db3f303 to 37d8f63 Jun 21, 2019

@dlrobertson
Copy link
Contributor Author

left a comment

Added some of my WIP work in MIR. I'd appreciate any feedback on the lowering there.

NB: or-patterns that include Wild or Switch currently fail. Range and SwitchInt seem to work though.

Show resolved Hide resolved src/librustc_mir/build/matches/mod.rs Outdated
// can let the test create its blocks before the rest of the match.
// This currently improves the speed of llvm when optimizing long
// string literal matches
trait TargetBlockBuilder<'tcx> {

This comment has been minimized.

Copy link
@dlrobertson

dlrobertson Jun 21, 2019

Author Contributor

What used to be the make_target_blocks closure is now implemented in the impl of the TargetBlockBuilder trait. This is needed so that we can build out the target blocks based on the or-pattern's subtests.

@matthewjasper does this seem like a reasonable approach?

Show resolved Hide resolved src/test/ui/or-patterns/basic-switch.rs Outdated
Show resolved Hide resolved src/test/ui/or-patterns/mix-with-wild.rs Outdated
@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

commented Jun 21, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (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.
travis_time:end:002d98da:start=1561144818851324805,finish=1561144821354389366,duration=2503064561
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---
[00:57:08] ...........................................................................ii...i..ii............... 3600/5695
[00:57:12] .................................................................................................... 3700/5695
[00:57:15] .................................................................................................... 3800/5695
[00:57:19] .....................................................................................ii............. 3900/5695
[00:57:22] .............................................FF..................................................... 4000/5695
[00:57:26] .........................................................................i.......................... 4200/5695
[00:57:28] .................................................................................................... 4300/5695
[00:57:35] .................................................................................................... 4400/5695
[00:57:45] .................................................................................................... 4500/5695
---
[00:58:30] failures:
[00:58:30] 
[00:58:30] ---- [ui] ui/or-patterns/basic-switch.rs stdout ----
[00:58:30] 
[00:58:30] error: /checkout/src/test/ui/or-patterns/basic-switch.rs:5: unexpected warning: '5:12: 5:23: the feature `or_patterns` is incomplete and may cause the compiler to crash'
[00:58:30] error: 1 unexpected errors found, 0 expected errors not found
[00:58:30] status: exit code: 101
[00:58:30] status: exit code: 101
[00:58:30] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/or-patterns/basic-switch.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/or-patterns/basic-switch" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/or-patterns/basic-switch/auxiliary" "-A" "unused"
[00:58:30]     Error {
[00:58:30]         line_num: 5,
[00:58:30]         kind: Some(
[00:58:30]             Warning,
[00:58:30]             Warning,
[00:58:30]         ),
[00:58:30]         msg: "5:12: 5:23: the feature `or_patterns` is incomplete and may cause the compiler to crash",
[00:58:30] ]
[00:58:30] 
[00:58:30] thread '[ui] ui/or-patterns/basic-switch.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:1499:13
[00:58:30] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[00:58:30] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[00:58:30] 
[00:58:30] ---- [ui] ui/or-patterns/mix-with-wild.rs stdout ----
[00:58:30] 
[00:58:30] error: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:5: unexpected warning: '5:12: 5:23: the feature `or_patterns` is incomplete and may cause the compiler to crash'
[00:58:30] 
[00:58:30] error: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:10: unexpected error: '10:14: 10:19: src/librustc_mir/build/matches/test.rs:955: simplifyable pattern found: Pattern { ty: usize, span: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:10:14: 10:19, kind: Or { pats: [Pattern { ty: usize, span: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:10:14: 10:15, kind: Constant { value: Const { ty: usize, val: Scalar(0x0000000000000000) } } }, Pattern { ty: usize, span: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:10:18: 10:19, kind: Wild }] } }'
[00:58:30] error: 2 unexpected errors found, 0 expected errors not found
[00:58:30] status: exit code: 101
[00:58:30] status: exit code: 101
[00:58:30] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/or-patterns/mix-with-wild.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/or-patterns/mix-with-wild" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/or-patterns/mix-with-wild/auxiliary" "-A" "unused"
[00:58:30]     Error {
[00:58:30]         line_num: 5,
[00:58:30]         kind: Some(
[00:58:30]             Warning,
[00:58:30]             Warning,
[00:58:30]         ),
[00:58:30]         msg: "5:12: 5:23: the feature `or_patterns` is incomplete and may cause the compiler to crash",
[00:58:30]     Error {
[00:58:30]         line_num: 10,
[00:58:30]         kind: Some(
[00:58:30]             Error,
[00:58:30]             Error,
[00:58:30]         ),
[00:58:30]         msg: "10:14: 10:19: src/librustc_mir/build/matches/test.rs:955: simplifyable pattern found: Pattern { ty: usize, span: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:10:14: 10:19, kind: Or { pats: [Pattern { ty: usize, span: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:10:14: 10:15, kind: Constant { value: Const { ty: usize, val: Scalar(0x0000000000000000) } } }, Pattern { ty: usize, span: /checkout/src/test/ui/or-patterns/mix-with-wild.rs:10:18: 10:19, kind: Wild }] } }",
[00:58:30] ]
[00:58:30] 
[00:58:30] 
[00:58:30] thread '[ui] ui/or-patterns/mix-with-wild.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:1499:13
[00:58:30] 
[00:58:30] failures:
[00:58:30]     [ui] ui/or-patterns/basic-switch.rs
[00:58:30]     [ui] ui/or-patterns/basic-switch.rs
[00:58:30]     [ui] ui/or-patterns/mix-with-wild.rs
[00:58:30] test result: FAILED. 5672 passed; 2 failed; 21 ignored; 0 measured; 0 filtered out
[00:58:30] 
[00:58:30] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:521:22
[00:58:30] 
[00:58:30] 
[00:58:30] 
[00:58:30] 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" "/usr/lib/llvm-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Cdebuginfo=0 -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -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" "--quiet" "--llvm-version" "6.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[00:58:30] 
[00:58:30] 
[00:58:30] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:58:30] Build completed unsuccessfully in 0:53:48
---
travis_time:end:0e4080fd:start=1561148344536330176,finish=1561148344540834273,duration=4504097
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:1ae5c903
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:073484cc
travis_time:start:073484cc
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:00cac0a4
$ dmesg | grep -i kill

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)

@dlrobertson dlrobertson force-pushed the dlrobertson:or-patterns-0 branch from 37d8f63 to a0907a8 Jun 22, 2019

@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

commented Jun 22, 2019

The job x86_64-gnu-llvm-6.0 of your PR failed on Travis (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.
travis_time:end:11f421d8:start=1561223310690017083,finish=1561223313096954405,duration=2406937322
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---
travis_time:start:test_assembly
Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:07:33] 
[01:07:33] running 9 tests
[01:07:33] iiiiiiiii
[01:07:33] 
[01:07:33]  finished in 0.154
[01:07:33] travis_fold:end:test_assembly

---
travis_time:start:test_debuginfo
Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:07:49] 
[01:07:49] running 122 tests
[01:08:15] .iiiii...i.....i..i...i..i.i.i..i.ii..i.i.....i..i....i..........iiii..........i...ii...i.......ii.i 100/122
[01:08:21] .i.i......iii.i.....ii
[01:08:21] 
[01:08:21]  finished in 31.331
[01:08:21] travis_fold:end:test_debuginfo

---
[01:46:53] test /checkout/src/doc/unstable-book/src/language-features/or-patterns.md - The_tracking_issue_for_this_feature_is__::Examples (line 14) ... FAILED
[01:46:53] 
[01:46:53] failures:
[01:46:53] 
[01:46:53] ---- /checkout/src/doc/unstable-book/src/language-features/or-patterns.md - The_tracking_issue_for_this_feature_is__::Examples (line 14) stdout ----
[01:46:53] error[E0658]: or_patterns syntax is experimental
[01:46:53]   --> /checkout/src/doc/unstable-book/src/language-features/or-patterns.md:24:24
[01:46:53]    |
[01:46:53] 12 |         Some(Foo::Bar(0) | Foo::Baz(0, 0)) => {
[01:46:53]    |
[01:46:53]    = note: for more information, see https://github.com/rust-lang/rust/issues/54883
[01:46:53]    = help: add #![feature(or_patterns)] to the crate attributes to enable
[01:46:53] 
---
travis_time:end:14470680:start=1561229739549867419,finish=1561229739555221119,duration=5353700
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:08204886
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:126ccf12
travis_time:start:126ccf12
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:04751696
$ dmesg | grep -i kill

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)

@dlrobertson dlrobertson force-pushed the dlrobertson:or-patterns-0 branch 2 times, most recently from e9c8d34 to c23e486 Jun 23, 2019

@bors

This comment was marked as outdated.

Copy link
Contributor

commented Jun 23, 2019

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

@varkor

This comment was marked as outdated.

Copy link
Member

commented Jun 23, 2019

I'll try to get around to reviewing this soon. Sorry, I've been very busy lately.

@dlrobertson dlrobertson force-pushed the dlrobertson:or-patterns-0 branch from c23e486 to b6a97d5 Jul 7, 2019

@dlrobertson dlrobertson force-pushed the dlrobertson:or-patterns-0 branch from e7142fc to dfc10d3 Jul 17, 2019

@dlrobertson

This comment has been minimized.

Copy link
Contributor Author

commented Jul 17, 2019

@varkor @alexreg The PR was reduced back to just the initial parsing. I can add the other stuff in follow-up PRs.

@rust-highfive

This comment was marked as outdated.

Copy link
Collaborator

commented Jul 17, 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-17T02:36:03.4156910Z ##[command]git remote add origin https://github.com/rust-lang/rust
2019-07-17T02:36:03.4361950Z ##[command]git config gc.auto 0
2019-07-17T02:36:03.4437615Z ##[command]git config --get-all http.https://github.com/rust-lang/rust.extraheader
2019-07-17T02:36:03.4499572Z ##[command]git config --get-all http.proxy
2019-07-17T02:36:03.4633260Z ##[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/61708/merge:refs/remotes/pull/61708/merge
---
2019-07-17T02:36:38.2891433Z do so (now or later) by using -b with the checkout command again. Example:
2019-07-17T02:36:38.2891463Z 
2019-07-17T02:36:38.2891690Z   git checkout -b <new-branch-name>
2019-07-17T02:36:38.2891719Z 
2019-07-17T02:36:38.2891778Z HEAD is now at c38f4f879 Merge dfc10d3dc7fd372b16a9f84444879516dda050da into 07e0c3651ce2a7b326f7678e135d8d5bbbbe5d18
2019-07-17T02:36:38.3052677Z ##[section]Starting: Collect CPU-usage statistics in the background
2019-07-17T02:36:38.3055875Z ==============================================================================
2019-07-17T02:36:38.3055955Z Task         : Bash
2019-07-17T02:36:38.3056001Z Description  : Run a Bash script on macOS, Linux, or Windows
---
2019-07-17T02:38:33.9783890Z Attempting with retry: curl -y 30 -Y 10 --connect-timeout 30 -f -L -C - -o /tmp/rustci_docker_cache https://.s3.amazonaws.com/docker/c7688a42c3598c0b7dfe0f9f69838f24b25841ef6f7f87b4686f4da367d970f5a477b9c1277bdc58ebfc14a49c51c0e2ddb2b3366d867d7aae1de3d9233c8624
2019-07-17T02:38:33.9851160Z   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
2019-07-17T02:38:33.9861226Z                                  Dload  Upload   Total   Spent    Left  Speed
2019-07-17T02:38:33.9861788Z 
2019-07-17T02:38:33.9892651Z   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: .s3.amazonaws.com
2019-07-17T02:38:34.9986269Z   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
2019-07-17T02:38:34.9989573Z                                  Dload  Upload   Total   Spent    Left  Speed
2019-07-17T02:38:34.9989732Z 
2019-07-17T02:38:34.9989732Z 
2019-07-17T02:38:34.9990767Z   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: .s3.amazonaws.com
2019-07-17T02:38:37.0086933Z   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
2019-07-17T02:38:37.0087513Z                                  Dload  Upload   Total   Spent    Left  Speed
2019-07-17T02:38:37.0087733Z 
2019-07-17T02:38:37.0087733Z 
2019-07-17T02:38:37.0089986Z   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: .s3.amazonaws.com
2019-07-17T02:38:40.0162128Z   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
2019-07-17T02:38:40.0162630Z                                  Dload  Upload   Total   Spent    Left  Speed
2019-07-17T02:38:40.0162702Z 
2019-07-17T02:38:40.0162702Z 
2019-07-17T02:38:40.0205636Z   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: .s3.amazonaws.com
2019-07-17T02:38:44.0281494Z   % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
2019-07-17T02:38:44.0281937Z                                  Dload  Upload   Total   Spent    Left  Speed
2019-07-17T02:38:44.0282205Z 
2019-07-17T02:38:44.0282205Z 
2019-07-17T02:38:44.0331785Z   0     0    0     0    0     0      0      0 --:--:-- --:--:-- --:--:--     0curl: (6) Could not resolve host: .s3.amazonaws.com
2019-07-17T02:38:44.0333277Z The command has failed after 5 attempts.
2019-07-17T02:38:44.1426354Z open /tmp/rustci_docker_cache: no such file or directory
2019-07-17T02:38:44.1452358Z Attempting with retry: docker build --rm -t rust-ci -f /home/vsts/work/1/s/src/ci/docker/x86_64-gnu-llvm-6.0/Dockerfile /home/vsts/work/1/s/src/ci/docker
2019-07-17T02:38:44.3394782Z Sending build context to Docker daemon  521.2kB
2019-07-17T02:38:44.3395135Z 
2019-07-17T02:38:44.3587205Z Step 1/8 : FROM ubuntu:16.04
---
2019-07-17T02:39:00.0878500Z Reading package lists...
2019-07-17T02:39:01.1563111Z Reading package lists...
2019-07-17T02:39:01.3618971Z Building dependency tree...
2019-07-17T02:39:01.3619131Z Reading state information...
2019-07-17T02:39:01.5094192Z The following additional packages will be installed:
2019-07-17T02:39:01.5095417Z   binfmt-support binutils bzip2 cmake-data cpp cpp-5 dpkg-dev g++-5 gcc gcc-5
2019-07-17T02:39:01.5096062Z   git-man libarchive13 libasan2 libasn1-8-heimdal libatomic1
2019-07-17T02:39:01.5096384Z   libbabeltrace-ctf1 libbabeltrace1 libbsd-dev libbsd0 libbz2-1.0 libc-dev-bin
2019-07-17T02:39:01.5096931Z   libedit2 liberror-perl libexpat1 libffi-dev libffi6 libgcc-5-dev libgdbm3
2019-07-17T02:39:01.5097167Z   libglib2.0-0 libgmp10 libgnutls30 libgomp1 libgssapi-krb5-2
2019-07-17T02:39:01.5097397Z   libgssapi3-heimdal libhcrypto4-heimdal libheimbase1-heimdal
2019-07-17T02:39:01.5097671Z   libheimntlm0-heimdal libhogweed4 libhx509-5-heimdal libicu55 libidn11
2019-07-17T02:39:01.5097671Z   libheimntlm0-heimdal libhogweed4 libhx509-5-heimdal libicu55 libidn11
2019-07-17T02:39:01.5097924Z   libisl15 libitm1 libjsoncpp1 libk5crypto3 libkeyutils1 libkrb5-26-heimdal
2019-07-17T02:39:01.5098168Z   libkrb5-3 libkrb5support0 libldap-2.4-2 libllvm6.0 liblsan0 liblzo2-2
2019-07-17T02:39:01.5098428Z   libmagic1 libmpc3 libmpdec2 libmpfr4 libmpx0 libnettle6 libp11-kit0
2019-07-17T02:39:01.5098664Z   libperl5.22 libpipeline1 libpython-stdlib libpython2.7-minimal
2019-07-17T02:39:01.5098908Z   libpython2.7-stdlib libpython3.5 libpython3.5-minimal libpython3.5-stdlib
2019-07-17T02:39:01.5099176Z   libquadmath0 libroken18-heimdal librtmp1 libsasl2-2 libsasl2-modules-db
2019-07-17T02:39:01.5123667Z   libsqlite3-0 libssl1.0.0 libstdc++-5-dev libtasn1-6 libtinfo-dev libtsan0
2019-07-17T02:39:01.5123942Z   libubsan0 libwind0-heimdal libxml2 linux-libc-dev llvm-6.0 llvm-6.0-dev
2019-07-17T02:39:01.5124229Z   llvm-6.0-runtime mime-support openssl patch perl perl-modules-5.22 python
2019-07-17T02:39:01.5124464Z   python-minimal python2.7-minimal
2019-07-17T02:39:01.5124516Z Suggested packages:
2019-07-17T02:39:01.5124952Z   binutils-doc bzip2-doc codeblocks eclipse ninja-build cpp-doc gcc-5-locales
2019-07-17T02:39:01.5125347Z   debian-keyring g++-multilib g++-5-multilib gcc-5-doc libstdc++6-5-dbg
2019-07-17T02:39:01.5125576Z   gcc-multilib manpages-dev autoconf automake libtool flex bison gcc-doc
2019-07-17T02:39:01.5126055Z   libasan2-dbg liblsan0-dbg libtsan0-dbg libubsan0-dbg libcilkrts5-dbg
2019-07-17T02:39:01.5126280Z   libmpx0-dbg libquadmath0-dbg gdb-doc gettext-base git-daemon-run
2019-07-17T02:39:01.5126280Z   libmpx0-dbg libquadmath0-dbg gdb-doc gettext-base git-daemon-run
2019-07-17T02:39:01.5126542Z   | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-arch
2019-07-17T02:39:01.5126777Z   git-cvs git-mediawiki git-svn lrzip glibc-doc gnutls-bin krb5-doc krb5-user
2019-07-17T02:39:01.5127001Z   libstdc++-5-doc llvm-6.0-doc make-doc ed diffutils-doc perl-doc
2019-07-17T02:39:01.5127262Z   libterm-readline-gnu-perl | libterm-readline-perl-perl python-doc python-tk
2019-07-17T02:39:01.5127447Z   python2.7-doc
2019-07-17T02:39:01.5127491Z Recommended packages:
2019-07-17T02:39:01.5127736Z   build-essential fakeroot libalgorithm-merge-perl libc-dbg gdbserver less
2019-07-17T02:39:01.5127958Z   rsync ssh-client manpages manpages-dev libfile-fcntllock-perl
2019-07-17T02:39:01.5128196Z   libglib2.0-data shared-mime-info xdg-user-dirs krb5-locales libsasl2-modules
2019-07-17T02:39:01.5128413Z   libssl-doc xml-core netbase rename
2019-07-17T02:39:01.5128461Z The following NEW packages will be installed:
2019-07-17T02:39:01.5128705Z   binfmt-support binutils bzip2 ca-certificates cmake cmake-data cpp cpp-5
2019-07-17T02:39:01.5128958Z   curl dpkg-dev file g++ g++-5 gcc gcc-5 gdb git git-man libarchive13 libasan2
2019-07-17T02:39:01.5129192Z   libasn1-8-heimdal libatomic1 libbabeltrace-ctf1 libbabeltrace1 libbsd-dev
2019-07-17T02:39:01.5129595Z   libbsd0 libc-dev-bin libc6-dev libcc1-0 libcilkrts5 libcurl3 libcurl3-gnutls
2019-07-17T02:39:01.5129902Z   libdpkg-perl libedit-dev libedit2 liberror-perl libexpat1 libffi-dev libffi6
2019-07-17T02:39:01.5130136Z   libgcc-5-dev libgdbm3 libglib2.0-0 libgmp10 libgnutls30 libgomp1
2019-07-17T02:39:01.5131022Z   libheimntlm0-heimdal libhogweed4 libhx509-5-heimdal libicu55 libidn11
2019-07-17T02:39:01.5131629Z   libisl15 libitm1 libjsoncpp1 libk5crypto3 libkeyutils1 libkrb5-26-heimdal
2019-07-17T02:39:01.5131910Z   libkrb5-3 libkrb5support0 libldap-2.4-2 libllvm6.0 liblsan0 liblzo2-2
2019-07-17T02:39:01.5132195Z   libmagic1 libmpc3 libmpdec2 libmpfr4 libmpx0 libnettle6 libp11-kit0
2019-07-17T02:39:01.5132195Z   libmagic1 libmpc3 libmpdec2 libmpfr4 libmpx0 libnettle6 libp11-kit0
2019-07-17T02:39:01.5132439Z   libperl5.22 libpipeline1 libpython-stdlib libpython2.7-minimal
2019-07-17T02:39:01.5132694Z   libpython2.7-stdlib libpython3.5 libpython3.5-minimal libpython3.5-stdlib
2019-07-17T02:39:01.5132974Z   libquadmath0 libroken18-heimdal librtmp1 libsasl2-2 libsasl2-modules-db
2019-07-17T02:39:01.5133235Z   libsqlite3-0 libssl-dev libssl1.0.0 libstdc++-5-dev libtasn1-6 libtinfo-dev
2019-07-17T02:39:01.5133483Z   libtsan0 libubsan0 libwind0-heimdal libxml2 linux-libc-dev llvm-6.0
2019-07-17T02:39:01.5133756Z   llvm-6.0-dev llvm-6.0-runtime llvm-6.0-tools make mime-support openssl patch
2019-07-17T02:39:01.5134002Z   perl perl-modules-5.22 pkg-config python python-minimal python2.7
2019-07-17T02:39:01.5134228Z   python2.7-minimal sudo xz-utils zlib1g-dev
2019-07-17T02:39:01.5134298Z The following packages will be upgraded:
2019-07-17T02:39:02.9596773Z 1 upgraded, 115 newly installed, 0 to remove and 5 not upgraded.
2019-07-17T02:39:02.9597530Z Need to get 121 MB of archives.
2019-07-17T02:39:02.9597728Z After this operation, 592 MB of additional disk space will be used.
2019-07-17T02:39:02.9598671Z Get:1 http://archive.ubuntu.com/ubuntu xenial/main amd64 libgdbm3 amd64 1.8.3-13.1 [16.9 kB]
---
2019-07-17T02:39:03.2598397Z Get:61 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 sudo amd64 1.8.16-0ubuntu1.7 [390 kB]
2019-07-17T02:39:03.2659886Z Get:62 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 openssl amd64 1.0.2g-1ubuntu4.15 [492 kB]
2019-07-17T02:39:03.2738172Z Get:63 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 ca-certificates all 20170717~16.04.2 [167 kB]
2019-07-17T02:39:03.2766239Z Get:64 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 libcurl3-gnutls amd64 7.47.0-1ubuntu2.13 [184 kB]
2019-07-17T02:39:03.2794488Z Get:65 http://archive.ubuntu.com/ubuntu xenial/main amd64 libedit2 amd64 3.1-20150325-1ubuntu2 [76.5 kB]
2019-07-17T02:39:03.2808316Z Get:66 http://archive.ubuntu.com/ubuntu xenial/main amd64 libpipeline1 amd64 1.4.1-2 [24.6 kB]
2019-07-17T02:39:03.2816456Z Get:67 http://archive.ubuntu.com/ubuntu xenial/main amd64 binfmt-support amd64 2.1.6-1 [50.7 kB]
2019-07-17T02:39:03.3393915Z Get:69 http://archive.ubuntu.com/ubuntu xenial/main amd64 libisl15 amd64 0.16.1-1 [524 kB]
2019-07-17T02:39:03.3463188Z Get:70 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 cpp-5 amd64 5.4.0-6ubuntu1~16.04.11 [7660 kB]
2019-07-17T02:39:03.4669954Z Get:71 http://archive.ubuntu.com/ubuntu xenial/main amd64 cpp amd64 4:5.3.1-1ubuntu1 [27.7 kB]
2019-07-17T02:39:03.4676463Z Get:72 http://archive.ubuntu.com/ubuntu xenial-updates/main amd64 curl amd64 7.47.0-1ubuntu2.13 [139 kB]
---
2019-07-17T02:39:22.7597368Z Unpacking ca-certificates (20170717~16.04.2) ...
2019-07-17T02:39:22.9384970Z Selecting previously unselected package libcurl3-gnutls:amd64.
2019-07-17T02:39:22.9408831Z Preparing to unpack .../libcurl3-gnutls_7.47.0-1ubuntu2.13_amd64.deb ...
2019-07-17T02:39:22.9554690Z Unpacking libcurl3-gnutls:amd64 (7.47.0-1ubuntu2.13) ...
2019-07-17T02:39:23.1011840Z Selecting previously unselected package libedit2:amd64.
2019-07-17T02:39:23.1030855Z Preparing to unpack .../libedit2_3.1-20150325-1ubuntu2_amd64.deb ...
2019-07-17T02:39:23.1156036Z Unpacking libedit2:amd64 (3.1-20150325-1ubuntu2) ...
2019-07-17T02:39:23.2305376Z Selecting previously unselected package libpipeline1:amd64.
2019-07-17T02:39:23.2325006Z Preparing to unpack .../libpipeline1_1.4.1-2_amd64.deb ...
2019-07-17T02:39:23.2451563Z Unpacking libpipeline1:amd64 (1.4.1-2) ...
2019-07-17T02:39:23.3540987Z Selecting previously unselected package binfmt-support.
2019-07-17T02:39:23.3558054Z Preparing to unpack .../binfmt-support_2.1.6-1_amd64.deb ...
2019-07-17T02:39:23.3711621Z Unpacking binfmt-support (2.1.6-1) ...
2019-07-17T02:39:23.4976674Z Preparing to unpack .../binutils_2.26.1-1ubuntu1~16.04.8_amd64.deb ...
2019-07-17T02:39:23.5141932Z Unpacking binutils (2.26.1-1ubuntu1~16.04.8) ...
2019-07-17T02:39:24.0222015Z Selecting previously unselected package libisl15:amd64.
2019-07-17T02:39:24.0241143Z Preparing to unpack .../libisl15_0.16.1-1_amd64.deb ...
---
2019-07-17T02:39:39.6209467Z Unpacking zlib1g-dev:amd64 (1:1.2.8.dfsg-2ubuntu4.1) ...
2019-07-17T02:39:39.7188857Z Selecting previously unselected package libssl-dev:amd64.
2019-07-17T02:39:39.7210056Z Preparing to unpack .../libssl-dev_1.0.2g-1ubuntu4.15_amd64.deb ...
2019-07-17T02:39:39.7361187Z Unpacking libssl-dev:amd64 (1.0.2g-1ubuntu4.15) ...
2019-07-17T02:39:40.0669962Z Selecting previously unselected package llvm-6.0-runtime.
2019-07-17T02:39:40.0697504Z Preparing to unpack .../llvm-6.0-runtime_1%3a6.0-1ubuntu2~16.04.1_amd64.deb ...
2019-07-17T02:39:40.0966241Z Unpacking llvm-6.0-runtime (1:6.0-1ubuntu2~16.04.1) ...
2019-07-17T02:39:40.2199643Z Selecting previously unselected package llvm-6.0.
2019-07-17T02:39:40.9702657Z Preparing to unpack .../llvm-6.0_1%3a6.0-1ubuntu2~16.04.1_amd64.deb ...
2019-07-17T02:39:40.9703018Z Unpacking llvm-6.0 (1:6.0-1ubuntu2~16.04.1) ...
2019-07-17T02:39:40.9703390Z Selecting previously unselected package libffi-dev:amd64.
2019-07-17T02:39:40.9703620Z Preparing to unpack .../libffi-dev_3.2.1-4_amd64.deb ...
2019-07-17T02:39:40.9703851Z Unpacking libffi-dev:amd64 (3.2.1-4) ...
2019-07-17T02:39:41.0551401Z Selecting previously unselected package llvm-6.0-dev.
2019-07-17T02:39:41.0573189Z Preparing to unpack .../llvm-6.0-dev_1%3a6.0-1ubuntu2~16.04.1_amd64.deb ...
2019-07-17T02:39:41.0705093Z Unpacking llvm-6.0-dev (1:6.0-1ubuntu2~16.04.1) ...
2019-07-17T02:39:45.7332317Z Selecting previously unselected package llvm-6.0-tools.
2019-07-17T02:39:45.7360820Z Preparing to unpack .../llvm-6.0-tools_1%3a6.0-1ubuntu2~16.04.1_amd64.deb ...
2019-07-17T02:39:45.7550622Z Unpacking llvm-6.0-tools (1:6.0-1ubuntu2~16.04.1) ...
2019-07-17T02:39:45.9091673Z Selecting previously unselected package pkg-config.
2019-07-17T02:39:45.9120496Z Preparing to unpack .../pkg-config_0.29.1-0ubuntu1_amd64.deb ...
2019-07-17T02:39:45.9870471Z Processing triggers for libc-bin (2.23-0ubuntu11) ...
2019-07-17T02:39:46.0488021Z Processing triggers for systemd (229-4ubuntu21.21) ...
2019-07-17T02:39:46.5384297Z Setting up libgdbm3:amd64 (1.8.3-13.1) ...
2019-07-17T02:39:46.6182899Z Setting up libffi6:amd64 (3.2.1-4) ...
---
2019-07-17T02:39:50.5408383Z debconf: unable to initialize frontend: Dialog
2019-07-17T02:39:50.5408569Z debconf: (TERM is not set, so the dialog frontend is not usable.)
2019-07-17T02:39:50.5408679Z debconf: falling back to frontend: Readline
2019-07-17T02:39:51.0822373Z Setting up libcurl3-gnutls:amd64 (7.47.0-1ubuntu2.13) ...
2019-07-17T02:39:51.1336481Z Setting up libedit2:amd64 (3.1-20150325-1ubuntu2) ...
2019-07-17T02:39:51.1716105Z Setting up libpipeline1:amd64 (1.4.1-2) ...
2019-07-17T02:39:51.2150017Z Setting up binfmt-support (2.1.6-1) ...
2019-07-17T02:39:51.2852647Z mount: permission denied
2019-07-17T02:39:51.2853442Z update-binfmts: warning: Couldn't mount the binfmt_misc filesystem on /proc/sys/fs/binfmt_misc.
2019-07-17T02:39:51.2869431Z mount: permission denied
2019-07-17T02:39:51.2873226Z update-binfmts: warning: Couldn't mount the binfmt_misc filesystem on /proc/sys/fs/binfmt_misc.
2019-07-17T02:39:51.4592730Z invoke-rc.d: could not determine current runlevel
2019-07-17T02:39:51.4630132Z invoke-rc.d: policy-rc.d denied execution of start.
2019-07-17T02:39:51.5357399Z Setting up libisl15:amd64 (0.16.1-1) ...
2019-07-17T02:39:51.5918385Z Setting up cpp-5 (5.4.0-6ubuntu1~16.04.11) ...
2019-07-17T02:39:51.6417268Z Setting up cpp (4:5.3.1-1ubuntu1) ...
2019-07-17T02:39:51.7093083Z Setting up curl (7.47.0-1ubuntu2.13) ...
---
2019-07-17T02:39:53.9755176Z Setting up libedit-dev:amd64 (3.1-20150325-1ubuntu2) ...
2019-07-17T02:39:53.9755400Z Setting up libllvm6.0:amd64 (1:6.0-1ubuntu2~16.04.1) ...
2019-07-17T02:39:53.9756294Z Setting up zlib1g-dev:amd64 (1:1.2.8.dfsg-2ubuntu4.1) ...
2019-07-17T02:39:53.9756545Z Setting up libssl-dev:amd64 (1.0.2g-1ubuntu4.15) ...
2019-07-17T02:39:53.9756799Z Setting up llvm-6.0-runtime (1:6.0-1ubuntu2~16.04.1) ...
2019-07-17T02:39:53.9756852Z mount: permission denied
2019-07-17T02:39:53.9757118Z update-binfmts: warning: Couldn't mount the binfmt_misc filesystem on /proc/sys/fs/binfmt_misc.
2019-07-17T02:39:53.9757371Z Setting up llvm-6.0 (1:6.0-1ubuntu2~16.04.1) ...
2019-07-17T02:39:53.9757610Z Setting up libffi-dev:amd64 (3.2.1-4) ...
2019-07-17T02:39:53.9757840Z Setting up llvm-6.0-dev (1:6.0-1ubuntu2~16.04.1) ...
2019-07-17T02:39:53.9758093Z Setting up llvm-6.0-tools (1:6.0-1ubuntu2~16.04.1) ...
2019-07-17T02:39:53.9758315Z Setting up pkg-config (0.29.1-0ubuntu1) ...
2019-07-17T02:39:53.9877519Z Processing triggers for ca-certificates (20170717~16.04.2) ...
2019-07-17T02:39:54.0032901Z Updating certificates in /etc/ssl/certs...
2019-07-17T02:39:55.6752225Z 148 added, 0 removed; done.
2019-07-17T02:39:55.6753617Z Running hooks in /etc/ca-certificates/update.d...
---
2019-07-17T02:40:29.4377284Z  ---> 6599a9fd5753
2019-07-17T02:40:29.4421229Z Successfully built 6599a9fd5753
2019-07-17T02:40:29.6169737Z Successfully tagged rust-ci:latest
2019-07-17T02:40:29.6946063Z Built container sha256:6599a9fd575330dcfb7cb65c5575ed40cf07fe6617862f582f50482a8117796d
2019-07-17T02:40:29.6961424Z Uploading finished image to https://.s3.amazonaws.com/docker/c7688a42c3598c0b7dfe0f9f69838f24b25841ef6f7f87b4686f4da367d970f5a477b9c1277bdc58ebfc14a49c51c0e2ddb2b3366d867d7aae1de3d9233c8624
2019-07-17T02:41:32.1934139Z upload failed: - to s3:///docker/c7688a42c3598c0b7dfe0f9f69838f24b25841ef6f7f87b4686f4da367d970f5a477b9c1277bdc58ebfc14a49c51c0e2ddb2b3366d867d7aae1de3d9233c8624 Parameter validation failed:
2019-07-17T02:41:32.1938674Z Invalid bucket name "": Bucket name must match the regex "^[a-zA-Z0-9.\-_]{1,255}$"
2019-07-17T02:41:33.2831695Z [CI_JOB_NAME=x86_64-gnu-llvm-6.0]
2019-07-17T02:41:33.2879592Z Starting sccache server...
2019-07-17T02:41:33.3372959Z configure: processing command line
2019-07-17T02:41:33.3373657Z configure: 
---
2019-07-17T03:39:09.9632585Z .................................................................................................... 200/5809
2019-07-17T03:39:14.4609922Z .................................................................................................... 300/5809
2019-07-17T03:39:18.6908696Z .................................................................................................... 400/5809
2019-07-17T03:39:22.6089789Z .................................................................................................... 500/5809
2019-07-17T03:39:26.5730836Z ........................................................................i........................... 600/5809
2019-07-17T03:39:35.7314170Z .................................................................................................... 800/5809
2019-07-17T03:39:41.3008957Z .................................................................................................... 900/5809
2019-07-17T03:39:41.3008957Z .................................................................................................... 900/5809
2019-07-17T03:39:47.2680778Z ............................................................................................i....... 1000/5809
2019-07-17T03:39:51.7688902Z ....i............................................................................................... 1100/5809
2019-07-17T03:39:55.9991075Z ......................iiiii......................................................................... 1200/5809
2019-07-17T03:40:01.7689470Z .................................................................................................... 1400/5809
2019-07-17T03:40:04.6193531Z .................................................................................................... 1500/5809
2019-07-17T03:40:08.5326412Z .................................................................................................... 1600/5809
2019-07-17T03:40:11.0882534Z .................................................................................................... 1700/5809
2019-07-17T03:40:11.0882534Z .................................................................................................... 1700/5809
2019-07-17T03:40:14.6263294Z ............................................................i....................................... 1800/5809
2019-07-17T03:40:23.3892758Z .................................................................................................... 2000/5809
2019-07-17T03:40:27.4458822Z .................................................................................................... 2100/5809
2019-07-17T03:40:31.7562592Z .................................................................................................... 2200/5809
2019-07-17T03:40:31.7562592Z .................................................................................................... 2200/5809
2019-07-17T03:40:35.4236638Z ..........................i......................................................................... 2300/5809
2019-07-17T03:40:45.4931670Z .................................................................................................... 2500/5809
2019-07-17T03:40:50.2405935Z .................................................................................................... 2600/5809
2019-07-17T03:40:54.7653368Z .................................................................................................... 2700/5809
2019-07-17T03:40:59.2226783Z .................................................................................................... 2800/5809
2019-07-17T03:40:59.2226783Z .................................................................................................... 2800/5809
2019-07-17T03:41:03.4341146Z .................................................................................................... 2900/5809
2019-07-17T03:41:09.1033668Z .................................................................................................... 3000/5809
2019-07-17T03:41:14.0258492Z .................................................................................................... 3100/5809
2019-07-17T03:41:18.8244855Z .................................................................................................... 3200/5809
2019-07-17T03:41:22.0537958Z .................................................................................................... 3300/5809
2019-07-17T03:41:27.1515837Z .................................................................................................... 3400/5809
2019-07-17T03:41:31.4888292Z .........................................................................................i.......... 3500/5809
2019-07-17T03:41:35.4582926Z .................................................................................................... 3600/5809
2019-07-17T03:41:39.5787119Z ..............................................................ii...i..ii............................ 3700/5809
2019-07-17T03:41:49.1670880Z .................................................................................................... 3900/5809
2019-07-17T03:41:49.1670880Z .................................................................................................... 3900/5809
2019-07-17T03:41:53.2276461Z ............................................................................ii...................... 4000/5809
2019-07-17T03:41:56.1842757Z .................................................................................................i.. 4100/5809
2019-07-17T03:41:58.4557474Z .................................................................................................... 4200/5809
2019-07-17T03:42:00.5835872Z ...............................................................i.................................... 4300/5809
2019-07-17T03:42:14.6138341Z .................................................................................................... 4500/5809
2019-07-17T03:42:26.5761144Z .................................................................................................... 4600/5809
2019-07-17T03:42:30.4617546Z .................................................................................................... 4700/5809
2019-07-17T03:42:34.1374710Z .................................................................................................... 4800/5809
---
2019-07-17T03:43:08.9634053Z .................................................................................................... 5400/5809
2019-07-17T03:43:13.6973015Z .................................................................................................... 5500/5809
2019-07-17T03:43:17.1733291Z .................................................................................................... 5600/5809
2019-07-17T03:43:20.4301394Z .................................................................................................... 5700/5809
2019-07-17T03:43:23.4950745Z .................................................i.................................................. 5800/5809
2019-07-17T03:43:24.0242322Z test result: ok. 5788 passed; 0 failed; 21 ignored; 0 measured; 0 filtered out
2019-07-17T03:43:24.0242667Z 
2019-07-17T03:43:24.0317837Z  finished in 270.319
2019-07-17T03:43:24.0508753Z Check compiletest suite=run-pass mode=run-pass (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-17T03:43:24.0508753Z Check compiletest suite=run-pass mode=run-pass (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-17T03:43:24.2849450Z 
2019-07-17T03:43:24.2851614Z running 2919 tests
2019-07-17T03:43:39.5918909Z .................................................................................................... 100/2919
2019-07-17T03:43:55.4959135Z ............................................................................i....................... 200/2919
2019-07-17T03:44:20.9368506Z .................................................................................................... 400/2919
2019-07-17T03:44:33.0425629Z .................................................................................................... 500/2919
2019-07-17T03:44:47.9688989Z .................................................................................................... 600/2919
2019-07-17T03:45:10.5916997Z .................................................................................................... 700/2919
2019-07-17T03:45:10.5916997Z .................................................................................................... 700/2919
2019-07-17T03:45:25.4172535Z .................................................................................................... 800/2919
2019-07-17T03:45:37.9326378Z .................................................................................................... 900/2919
2019-07-17T03:45:56.0587454Z .................................................................................................... 1000/2919
2019-07-17T03:46:11.6764475Z .................................................................................................... 1100/2919
2019-07-17T03:46:24.2351034Z .................................................................................................... 1200/2919
2019-07-17T03:46:37.9806858Z .................................................................................................... 1300/2919
2019-07-17T03:46:55.9899631Z ......................ii............................................................................ 1400/2919
2019-07-17T03:47:10.2351210Z .................................................................................................... 1500/2919
2019-07-17T03:47:23.1751431Z ..........................................................................i.......i................. 1600/2919
2019-07-17T03:47:58.0844003Z .................................................................................................... 1800/2919
2019-07-17T03:48:12.4016814Z .................................................................................................... 1900/2919
2019-07-17T03:48:12.4016814Z .................................................................................................... 1900/2919
2019-07-17T03:48:29.7700967Z .....i.......................................................................i...................... 2000/2919
2019-07-17T03:49:18.7239525Z .................................................................................................... 2200/2919
2019-07-17T03:49:30.7155732Z .................................................................................................... 2300/2919
2019-07-17T03:49:30.7155732Z .................................................................................................... 2300/2919
2019-07-17T03:49:52.8656686Z ............ii...................................................................................... 2400/2919
2019-07-17T03:50:50.0314331Z .................................................................................................... 2600/2919
2019-07-17T03:51:02.6411406Z .................................................................................................... 2700/2919
2019-07-17T03:51:15.6436768Z .................................................................................................... 2800/2919
2019-07-17T03:51:31.4681120Z .................................................................................................... 2900/2919
---
2019-07-17T03:52:34.1068316Z  finished in 36.134
2019-07-17T03:52:34.1245454Z Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-17T03:52:34.2940505Z 
2019-07-17T03:52:34.2941390Z running 146 tests
2019-07-17T03:52:37.6531398Z i....iii......iii..iiii....i............................i..i................i....i.........ii.i.i..i 100/146
2019-07-17T03:52:39.6366890Z .ii..............i.........iii.i......ii......
2019-07-17T03:52:39.6371564Z 
2019-07-17T03:52:39.6371854Z  finished in 5.512
2019-07-17T03:52:39.6563007Z Check compiletest suite=codegen-units mode=codegen-units (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-17T03:52:39.8184239Z 
2019-07-17T03:52:39.8184239Z 
2019-07-17T03:52:39.8185258Z running 39 tests
2019-07-17T03:52:41.8955952Z i.........i......................i.....
2019-07-17T03:52:41.8956583Z 
2019-07-17T03:52:41.8962585Z  finished in 2.240
2019-07-17T03:52:41.9158935Z Check compiletest suite=assembly mode=assembly (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-17T03:52:42.0740794Z 
2019-07-17T03:52:42.0740794Z 
2019-07-17T03:52:42.0741085Z running 9 tests
2019-07-17T03:52:42.0744597Z iiiiiiiii
2019-07-17T03:52:42.0745158Z 
2019-07-17T03:52:42.0749391Z  finished in 0.159
2019-07-17T03:52:42.1004394Z Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-17T03:52:42.2650556Z 
---
2019-07-17T03:53:01.5850029Z  finished in 18.854
2019-07-17T03:53:01.5850552Z Check compiletest suite=debuginfo mode=debuginfo-gdb+lldb (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-17T03:53:01.5850622Z 
2019-07-17T03:53:01.5850684Z running 122 tests
2019-07-17T03:53:25.7079702Z .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-17T03:53:30.5423458Z .i.i......iii.i.....ii
2019-07-17T03:53:30.5423936Z 
2019-07-17T03:53:30.5426839Z  finished in 29.568
2019-07-17T03:53:30.5433280Z Uplifting stage1 rustc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-17T03:53:30.5433888Z Copying stage2 rustc from stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu / x86_64-unknown-linux-gnu)
---
2019-07-17T03:57:17.1397406Z     Finished release [optimized] target(s) in 2m 45s
2019-07-17T03:57:17.1666091Z Check compiletest suite=rustdoc mode=rustdoc (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-17T03:57:17.3299785Z 
2019-07-17T03:57:17.3301109Z running 315 tests
2019-07-17T03:58:33.0910978Z ....................................i............................................................... 100/315
2019-07-17T03:59:42.1687518Z ....................................................i............................................... 200/315
2019-07-17T04:00:58.1318866Z ...............
2019-07-17T04:00:58.1320236Z test result: ok. 313 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out
2019-07-17T04:00:58.1320557Z 
2019-07-17T04:00:58.1324198Z  finished in 220.965
---
2019-07-17T04:05:11.7728273Z 
2019-07-17T04:05:11.7833038Z 
2019-07-17T04:05:11.7833210Z running 444 tests
2019-07-17T04:05:32.3863537Z .................................................................................................... 100/444
2019-07-17T04:05:49.8380828Z ...................................................................................i................ 200/444
2019-07-17T04:06:20.3508778Z .................................................................................................... 400/444
2019-07-17T04:06:27.2367449Z ............................................
2019-07-17T04:06:27.2367682Z test result: ok. 443 passed; 0 failed; 1 ignored; 0 measured; 0 filtered out
2019-07-17T04:06:27.2368094Z 
---
2019-07-17T04:07:44.8799927Z running 961 tests
2019-07-17T04:07:44.8907243Z .................................................................................................... 100/961
2019-07-17T04:07:44.9035096Z .................................................................................................... 200/961
2019-07-17T04:07:44.9128098Z .................................................................................................... 300/961
2019-07-17T04:07:44.9991828Z ............................................................................................ii...... 400/961
2019-07-17T04:07:45.1097648Z .................................................................................................... 600/961
2019-07-17T04:07:45.1185205Z .................................................................................................... 700/961
2019-07-17T04:07:45.1319310Z .................................................................................................... 800/961
2019-07-17T04:07:45.6038163Z .................................................................................................... 900/961
2019-07-17T04:07:45.6038163Z .................................................................................................... 900/961
2019-07-17T04:07:46.6933963Z .............................................................
2019-07-17T04:07:46.6934111Z test result: ok. 959 passed; 0 failed; 2 ignored; 0 measured; 0 filtered out
2019-07-17T04:07:46.6934149Z 
2019-07-17T04:07:46.6942172Z    Doc-tests core
2019-07-17T04:07:50.7044726Z 
2019-07-17T04:07:50.7044962Z running 2374 tests
2019-07-17T04:08:03.5067941Z ......iiiii......................................................................................... 100/2374
2019-07-17T04:08:15.8967957Z .........................................................................ii......................... 200/2374
2019-07-17T04:08:29.8983234Z ...............................................................................................i.... 300/2374
2019-07-17T04:08:45.7873370Z .................................................................................................... 400/2374
2019-07-17T04:08:57.3285039Z ..............................i..i.................iiii............................................. 500/2374
2019-07-17T04:09:21.5915843Z .................................................................................................... 700/2374
2019-07-17T04:09:33.7488084Z .................................................................................................... 800/2374
2019-07-17T04:09:46.2381492Z .................................................................................................... 900/2374
2019-07-17T04:09:58.3331680Z .................................................................................................... 1000/2374
---
2019-07-17T04:11:47.9286975Z .................................................................................................... 1900/2374
2019-07-17T04:12:01.8772958Z .................................................................................................... 2000/2374
2019-07-17T04:12:14.2630751Z .................................................................................................... 2100/2374
2019-07-17T04:12:29.5864429Z .................................................................................................... 2200/2374
2019-07-17T04:12:45.8648437Z ...................................................................................i................ 2300/2374
2019-07-17T04:12:55.2743124Z test result: ok. 2359 passed; 0 failed; 15 ignored; 0 measured; 0 filtered out
2019-07-17T04:12:55.2743161Z 
2019-07-17T04:12:55.3016404Z  finished in 388.050
2019-07-17T04:12:55.3032607Z Testing panic_abort stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
2019-07-17T04:14:54.3688932Z ............................................... 300/756
2019-07-17T04:14:54.3707752Z thread '<unnamed>' panicked at 'explicit panic', src/libstd/io/stdio.rs:854:13
2019-07-17T04:14:54.4639125Z .................................................................................................... 400/756
2019-07-17T04:14:56.5357198Z .................................................................................................... 500/756
2019-07-17T04:14:56.5584882Z .............thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libcore/result.rs:1051:5
2019-07-17T04:14:56.5600967Z ....thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: "SendError(..)"', src/libcore/result.rs:1051:5
2019-07-17T04:14:56.5621941Z .thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libcore/result.rs:1051:5
2019-07-17T04:14:56.5651928Z ......thread '.<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libcore/result.rs:1051:5.
2019-07-17T04:14:56.8316249Z ........................................thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libcore/result.rs:1051:5
2019-07-17T04:14:56.8335750Z ....thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libcore/result.rs:1051:5
2019-07-17T04:14:56.8368354Z .......thread '<unnamed>' panicked at 'called `Result::unwrap()` on an `Err` value: RecvError', src/libcore/result.rs:1051:5
2019-07-17T04:14:56.8688265Z ....................... 600/756
2019-07-17T04:14:58.9007470Z ...............thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:629:13
2019-07-17T04:14:58.9012327Z ..thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:584:13
2019-07-17T04:14:58.9012327Z ..thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:584:13
2019-07-17T04:14:58.9019766Z ...thread '<unnamed>' panicked at 'test panic in inner thread to poison mutex', src/libstd/sync/mutex.rs:561:13
2019-07-17T04:14:58.9024362Z .thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/mutex.rs:689:13
2019-07-17T04:14:58.9028259Z ...thread '<unnamed>' panicked at 'assertion failed: `(left == right)`
2019-07-17T04:14:58.9029838Z   left: `1`,
2019-07-17T04:14:58.9031481Z  right: `2`', src/libstd/sync/mutex.rs:653:13
2019-07-17T04:14:58.9076815Z ..........thread '<unnamed>' panicked at 'test panic in inner thread to poison RwLock', src/libstd/sync/rwlock.rs:791:13
2019-07-17T04:14:58.9092536Z ...thread '<unnamed>' panicked at 'test panic in inner thread to poison RwLock', src/libstd/sync/rwlock.rs:768:13
2019-07-17T04:14:58.9106086Z ..thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/rwlock.rs:705:13
2019-07-17T04:14:58.9112392Z thread '<unnamed>' panicked at '.explicit panic', src/libstd/sync/rwlock.rs:635:13
2019-07-17T04:14:58.9118187Z thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/rwlock.rs:646.:13
2019-07-17T04:14:58.9122742Z .thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/rwlock.rs:611:13
2019-07-17T04:14:58.9130023Z .thread '<unnamed>' panicked at 'explicit panic', src/libstd/sync/rwlock.rs:623:13
2019-07-17T04:15:00.9509100Z ..........................thread '<unnamed>' panicked at 'What the answer to my lifetimes dilemma is?', src/libstd/sys_common/remutex.rs:233:13
2019-07-17T04:15:00.9636370Z ............................thread '<unnamed>' panicked at 'explicit panic', src/libstd/thread/mod.rs:1535:13
2019-07-17T04:15:01.5707800Z ............thread '<unnamed>' panicked at 'Box<Any>', src/libstd/thread/mod.rs:1667:13
2019-07-17T04:15:01.5711028Z .thread '<unnamed>' panicked at 'owned string', src/libstd/thread/mod.rs:1653:13
2019-07-17T04:15:01.5718437Z .thread '<unnamed>' panicked at 'static string', src/libstd/thread/mod.rs:1639:13
---
2019-07-17T04:15:08.3599042Z 
2019-07-17T04:15:08.3599979Z running 1009 tests
2019-07-17T04:15:33.2485644Z i................................................................................................... 100/1009
2019-07-17T04:15:47.1447180Z .................................................................................................... 200/1009
2019-07-17T04:15:56.3327557Z .................iii......i......i...i......i....................................................... 300/1009
2019-07-17T04:16:01.3381327Z .................................................................................................... 400/1009
2019-07-17T04:16:09.2465934Z ................................i..i..........................................iiii.......ii......... 500/1009
2019-07-17T04:16:24.5605853Z .................................................................................................... 700/1009
2019-07-17T04:16:24.5605853Z .................................................................................................... 700/1009
2019-07-17T04:16:33.1274119Z ...................................iiii............................................................. 800/1009
2019-07-17T04:16:50.1546735Z .................................................................................................... 900/1009
2019-07-17T04:16:58.5993152Z .........................................................iiii....................................... 1000/1009
2019-07-17T04:16:59.0062098Z test result: ok. 985 passed; 0 failed; 24 ignored; 0 measured; 0 filtered out
2019-07-17T04:16:59.0062178Z 
2019-07-17T04:16:59.0281588Z  finished in 243.236
2019-07-17T04:16:59.0302539Z Testing unwind stage1 (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
---
2019-07-17T04:39:04.8784424Z  finished in 34.540
2019-07-17T04:39:04.9173357Z Check compiletest suite=run-make-fulldeps mode=run-make (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
2019-07-17T04:39:05.1054033Z 
2019-07-17T04:39:05.1055197Z running 200 tests
2019-07-17T04:39:42.3819895Z ....................i...ii................................................................i......... 100/200
2019-07-17T04:40:27.3225796Z ..............................iiii........i..........iiii.iii....................................i.. 200/200
2019-07-17T04:40:27.3227655Z test result: ok. 183 passed; 0 failed; 17 ignored; 0 measured; 0 filtered out
2019-07-17T04:40:27.3227702Z 
2019-07-17T04:40:27.3230934Z  finished in 82.406
2019-07-17T04:40:27.3238471Z doc tests for: /checkout/src/doc/rustdoc/src/command-line-arguments.md
---
2019-07-17T04:40:33.4648436Z doc tests for: /checkout/src/doc/unstable-book/src/language-features/optin-builtin-traits.md
2019-07-17T04:40:33.6388962Z doc tests for: /checkout/src/doc/unstable-book/src/language-features/or-patterns.md
2019-07-17T04:40:33.6992661Z 
2019-07-17T04:40:33.6993517Z 
2019-07-17T04:40:33.6994460Z command did not execute successfully: "/checkout/obj/build/bootstrap/debug/rustdoc" "--test" "/checkout/src/doc/unstable-book/src/language-features/or-patterns.md" "--test-args" ""
2019-07-17T04:40:33.6994845Z 
2019-07-17T04:40:33.6995098Z stdout ----
2019-07-17T04:40:33.6995246Z 
2019-07-17T04:40:33.6995413Z running 1 test
2019-07-17T04:40:33.6995413Z running 1 test
2019-07-17T04:40:33.6995775Z test /checkout/src/doc/unstable-book/src/language-features/or-patterns.md - The_tracking_issue_for_this_feature_is__::Examples (line 14) ... FAILED
2019-07-17T04:40:33.6995926Z 
2019-07-17T04:40:33.6996087Z failures:
2019-07-17T04:40:33.6996113Z 
2019-07-17T04:40:33.6996464Z ---- /checkout/src/doc/unstable-book/src/language-features/or-patterns.md - The_tracking_issue_for_this_feature_is__::Examples (line 14) stdout ----
2019-07-17T04:40:33.6996660Z warning: the feature `or_patterns` is incomplete and may cause the compiler to crash
2019-07-17T04:40:33.6997024Z  --> /checkout/src/doc/unstable-book/src/language-features/or-patterns.md:14:12
2019-07-17T04:40:33.6997332Z 2 | #![feature(or_patterns)]
2019-07-17T04:40:33.6997392Z   |            ^^^^^^^^^^^
2019-07-17T04:40:33.6997436Z 
2019-07-17T04:40:33.6997436Z 
2019-07-17T04:40:33.6998421Z error: internal compiler error: src/librustc_mir/build/matches/test.rs:765: simplifyable pattern found: Pattern { ty: main::Foo, span: /checkout/src/doc/unstable-book/src/language-features/or-patterns.md:12:19: 12:33, kind: Or { pats: [Pattern { ty: main::Foo, span: /checkout/src/doc/unstable-book/src/language-features/or-patterns.md:12:14: 12:22, kind: Variant { adt_def: main::Foo, substs: [], variant_index: 0, subpatterns: [] } }, Pattern { ty: main::Foo, span: /checkout/src/doc/unstable-book/src/language-features/or-patterns.md:12:25: 12:33, kind: Variant { adt_def: main::Foo, substs: [], variant_index: 1, subpatterns: [] } }] } }
2019-07-17T04:40:33.6998950Z   --> /checkout/src/doc/unstable-book/src/language-features/or-patterns.md:24:19
2019-07-17T04:40:33.6999118Z    |
2019-07-17T04:40:33.6999294Z 12 |         Some(Foo::Bar | Foo::Baz) => {
2019-07-17T04:40:33.6999967Z 
2019-07-17T04:40:33.6999967Z 
2019-07-17T04:40:33.7000401Z thread 'rustc' panicked at 'Box<Any>', src/librustc_errors/lib.rs:584:9
2019-07-17T04:40:33.7000676Z error: aborting due to previous error
2019-07-17T04:40:33.7000801Z 
2019-07-17T04:40:33.7001094Z Couldn't compile the test.
2019-07-17T04:40:33.7001246Z 
---
2019-07-17T04:40:33.7003320Z 
2019-07-17T04:40:33.7003363Z 
2019-07-17T04:40:33.7012958Z failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
2019-07-17T04:40:33.7013194Z Build completed unsuccessfully in 1:55:02
2019-07-17T04:40:35.0392106Z ##[error]Bash exited with code '1'.
2019-07-17T04:40:35.0432664Z ##[section]Starting: Checkout
2019-07-17T04:40:35.0434466Z ==============================================================================
2019-07-17T04:40:35.0434515Z Task         : Get sources
2019-07-17T04:40:35.0434558Z 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)

@varkor

This comment was marked as outdated.

Copy link
Member

commented Jul 17, 2019

I'll try to review this soon.

@dlrobertson

This comment was marked as outdated.

Copy link
Contributor Author

commented Jul 17, 2019

I'll try to review this soon.

Thanks! No rush and let me know if there is anything I can do to make the review easier.

@bors

This comment was marked as outdated.

Copy link
Contributor

commented Jul 19, 2019

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

@dlrobertson dlrobertson force-pushed the dlrobertson:or-patterns-0 branch 2 times, most recently from 4d534cb to 6930bb9 Jul 20, 2019

@varkor
Copy link
Member

left a comment

This looks mostly good. I would be tempted to leave the pattern matching code to a later PR, so we can actually add tests for it at the same time, because the pattern matching code can be subtle (and I want to re-check it to make sure it's correct).

Show resolved Hide resolved src/doc/unstable-book/src/language-features/or-patterns.md Outdated
Show resolved Hide resolved src/doc/unstable-book/src/language-features/or-patterns.md Outdated
Show resolved Hide resolved src/librustc_mir/build/matches/mod.rs Outdated
@@ -195,6 +195,10 @@ impl<'a, 'tcx> Builder<'a, 'tcx> {
candidate.match_pairs.push(MatchPair::new(place, subpattern));
Ok(())
}

PatternKind::Or { .. } => {
Err(match_pair)

This comment has been minimized.

Copy link
@varkor

varkor Jul 22, 2019

Member

Is it possible for the vector to be length 1 here?

This comment has been minimized.

Copy link
@varkor

varkor Jul 22, 2019

Member

I think the pattern Some(0 |) will have length 1, in which case we can return Ok(()) here (or normalise it earlier on).

This comment has been minimized.

Copy link
@dlrobertson

dlrobertson Jul 25, 2019

Author Contributor

We currently don't parse a trailing | as a valid pattern, so the vector would be at least length 2 right?

This comment has been minimized.

Copy link
@varkor

varkor Jul 28, 2019

Member

Sorry, yes, that's true. Can you add a comment above Err saying that the vector will always have length at least 2, and so will always be refutable?

Show resolved Hide resolved src/libsyntax/feature_gate.rs Outdated
Show resolved Hide resolved src/test/ui/feature-gate/feature-gate-or_patterns.rs
Show resolved Hide resolved src/libsyntax/parse/parser.rs Outdated
Show resolved Hide resolved src/libsyntax/parse/parser.rs Outdated
Show resolved Hide resolved src/librustc_mir/hair/pattern/_match.rs Outdated
Show resolved Hide resolved src/librustc_mir/hair/pattern/_match.rs Outdated
@dlrobertson

This comment has been minimized.

Copy link
Contributor Author

commented Jul 23, 2019

I would be tempted to leave the pattern matching code to a later PR

@varkor you mean the specialization?

@varkor

This comment has been minimized.

Copy link
Member

commented Jul 23, 2019

@dlrobertson: yeah, the code in pattern/_match.rs.

@dlrobertson dlrobertson force-pushed the dlrobertson:or-patterns-0 branch from 6930bb9 to d92c800 Jul 25, 2019

@dlrobertson

This comment has been minimized.

Copy link
Contributor Author

commented Jul 26, 2019

@varkor updated and remove pattern matching code.

@bors

This comment was marked as outdated.

Copy link
Contributor

commented Jul 28, 2019

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

@varkor

varkor approved these changes Jul 28, 2019

Copy link
Member

left a comment

Looks good! r=me after the typo is fixed.

if ddpos.is_some() {
self.struct_span_err(
self.prev_span,
"`..` is not valid in a or-pattern",

This comment has been minimized.

Copy link
@varkor

varkor Jul 28, 2019

Member
Suggested change
"`..` is not valid in a or-pattern",
"`..` is not valid in an or-pattern",
@alexreg

This comment has been minimized.

Copy link
Contributor

commented Jul 29, 2019

@bors delegate+ (for after rebase and typo fix)

(I presume @varkor just forgot to do this.)

@bors

This comment has been minimized.

Copy link
Contributor

commented Jul 29, 2019

✌️ @dlrobertson can now approve this pull request

@dlrobertson

This comment was marked as outdated.

Copy link
Contributor Author

commented Jul 31, 2019

:/ I'm going to have to re-do the parsing implementation in order to fix the conflict. I'll try to get it done soon though. Depending on how much different the implementation is, I might request another review instead of using the bors delegation.

@alexreg

This comment was marked as outdated.

Copy link
Contributor

commented Aug 1, 2019

@dlrobertson The conflict changed the parser that much? I'd be surprised if it weren't merely a rebase...

@JohnCSimon

This comment was marked as outdated.

Copy link

commented Aug 10, 2019

@varkor @dlrobertson Ping from triage. How is this coming along?

@dlrobertson

This comment has been minimized.

Copy link
Contributor Author

commented Aug 16, 2019

There have been some updates to libsyntax (most notably #63490). Now that it is merged, I'll update this PR to track these changes.

@dlrobertson dlrobertson force-pushed the dlrobertson:or-patterns-0 branch 2 times, most recently from a6985f4 to 2dcc233 Aug 16, 2019

Show resolved Hide resolved src/doc/unstable-book/src/language-features/or-patterns.md
Show resolved Hide resolved src/librustc_mir/hair/pattern/mod.rs Outdated
Show resolved Hide resolved src/librustc/hir/mod.rs Outdated
Show resolved Hide resolved src/librustc/hir/mod.rs
Show resolved Hide resolved src/libsyntax/ast.rs
Show resolved Hide resolved src/libsyntax/feature_gate.rs Outdated
Show resolved Hide resolved src/libsyntax/parse/parser/pat.rs Outdated
Show resolved Hide resolved src/libsyntax/parse/parser/pat.rs Outdated
@Centril

This comment has been minimized.

Copy link
Member

commented Aug 17, 2019

r=me with comments ^-- addressed for the parser changes and varkor on the rest since that didn't change.

varkor and others added some commits Oct 19, 2018

initial implementation of or-pattern parsing
Initial implementation of parsing or-patterns e.g., `Some(Foo | Bar)`.
This is a partial implementation of RFC 2535.

@dlrobertson dlrobertson force-pushed the dlrobertson:or-patterns-0 branch from 2dcc233 to 1870537 Aug 17, 2019

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