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

Lint uncallable function #54127

Open
wants to merge 2 commits into
base: master
from

Conversation

Projects
None yet
9 participants
@varkor
Member

varkor commented Sep 11, 2018

Functions with parameters whose types are uninhabited now fall under the unreachable_code lint, unless they're part of a trait implementation, as these are currently necessary.

Based on #50262. Blocked on #54125.

r? @nikomatsakis

@Mark-Simulacrum

This comment has been minimized.

Member

Mark-Simulacrum commented Sep 11, 2018

Hm, I think I recall seeing that syn is somehow using functions or types like this as arguments that are never called but used for trait based dispatch.. cc @dtolnay

(Not sure whether there's actually any concern to be had here but want to make sure)

@varkor varkor force-pushed the varkor:lint-uncallable-function branch from 3f3c3ad to 832be28 Sep 11, 2018

@petrochenkov

This comment has been minimized.

Contributor

petrochenkov commented Sep 11, 2018

Is this something that needs to be linted at all?
What's the chance of using an uninhabited type accidentally in a public function's signature and then not attempting to use that function?

@varkor

This comment has been minimized.

Member

varkor commented Sep 11, 2018

My motivation for adding this case to the lint is bringing the unreachable code/divergence checking in typeck closer to the unreachable code checking for MIR. I imagine it's not that common, but seems to naturally extend the existing lint and at least provide a warning that an entire function may be eliminated during codegen.

@rust-highfive

This comment was marked as resolved.

Collaborator

rust-highfive commented Sep 11, 2018

The job x86_64-gnu-llvm-5.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.
[00:46:03] ....................................................................................................
[00:46:06] ....................................................................................................
[00:46:09] ....................................................................................................
[00:46:12] ...............................................................................i....................
[00:46:15] ...........................................F........................................................
[00:46:21] ....................................................................................................
[00:46:24] .........................................i..........................................................
[00:46:27] ....................................................................................................
[00:46:27] ....................................................................................................
[00:46:30] .....................................F..............................................................
[00:46:35] ..........................................................................i.........................
[00:46:43] ....................................................................................................
[00:46:50] ....................................................................................................
[00:46:57] ....................................................................................................
---
[00:51:16] diff of stderr:
[00:51:16] 
[00:51:16] - error: unreachable statement
[00:51:16] -   --> $DIR/match-no-arms-unreachable-after.rs:18:5
[00:51:16] + error: functions with parameters of uninhabited types are uncallable
[00:51:16] +   --> $DIR/match-no-arms-unreachable-after.rs:16:1
[00:51:16] 3    |
[00:51:16] - LL |     let x = 2; //~ ERROR unreachable
[00:51:16] -    |     ^^^^^^^^^^
[00:51:16] + LL |   fn foo(v: Void) {
[00:51:16] +    |   ^      - this parameter has an uninhabited type
[00:51:16] +    |  _|
[00:51:16] +    | |
[00:51:16] + LL | |     match v { }
[00:51:16] + LL | |     let x = 2; //~ ERROR unreachable
[00:51:16] + LL | | }
[00:51:16] 6    |
[00:51:16] 7 note: lint level defined here
[00:51:16] 8   --> $DIR/match-no-arms-unreachable-after.rs:12:9
[00:51:16] 
[00:51:16] 
[00:51:16] 10 LL | #![deny(unreachable_code)]
[00:51:16] 12 
[00:51:16] - error: aborting due to previous error
[00:51:16] + error: unreachable statement
[00:51:16] +   --> $DIR/match-no-arms-unreachable-after.rs:18:5
[00:51:16] +   --> $DIR/match-no-arms-unreachable-after.rs:18:5
[00:51:16] +    |
[00:51:16] + LL |     let x = 2; //~ ERROR unreachable
[00:51:16] + 
[00:51:16] + error: aborting due to 2 previous errors
[00:51:16] 14 
[00:51:16] 15 
[00:51:16] 15 
[00:51:16] 
[00:51:16] 
[00:51:16] The actual stderr differed from the expected stderr.
[00:51:16] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/match/match-no-arms-unreachable-after/match-no-arms-unreachable-after.stderr
[00:51:16] To update references, rerun the tests and pass the `--bless` flag
[00:51:16] To only update this specific test, also pass `--test-args match/match-no-arms-unreachable-after.rs`
[00:51:16] error: 1 errors occurred comparing output.
[00:51:16] status: exit code: 1
[00:51:16] status: exit code: 1
[00:51:16] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/match/match-no-arms-unreachable-after.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/match/match-no-arms-unreachable-after/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/chece_start":12,"line_end":12,"column_start":9,"column_end":25,"is_primary":true,"text":[{"text":"#![deny(unreachable_code)]","highlight_start":9,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error: functions with parameters of uninhabited types are uncallable\n  --> /checkout/src/test/ui/match/match-no-arms-unreachable-after.rs:16:1\n   |\nLL |   fn foo(v: Void) {\n   |   ^      - this parameter has an uninhabited type\n   |  _|\n   | |\nLL | |     match v { }\nLL | |     let x = 2; //~ ERROR unreachable\nLL | | }\n   | |_^\n   |\nnote: lint level defined here\n  --> /checkout/src/test/ui/match/match-no-arms-unreachable-after.rs:12:9\n   |\nLL | #![deny(unreachable_code)]\n   |         ^^^^^^^^^^^^^^^^\n\n"}
[00:51:16] {"message":"unreachable statement","code":{"code":"unreachable_code","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/match/match-no-arms-unreachable-after.rs","byte_start":568,"byte_end":578,"line_start":18,"line_end":18,"column_start":5,"column_end":15,"is_primary":true,"text":[{"text":"    let x = 2; //~ ERROR unreachable","highlight_start":5,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: unreachable statement\n  --> /checkout/src/test/ui/match/match-no-arms-unreachable-after.rs:18:5\n   |\nLL |     let x = 2; //~ ERROR unreachable\n   |     ^^^^^^^^^^\n\n"}
[00:51:16] {"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 2 previous errors\n\n"}
[00:51:16] ------------------------------------------
[00:51:16] 
[00:51:16] thread '[ui] ui/match/match-no-arms-unreachable-after.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3196:9
[00:51:16] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:51:16] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:51:16] 
[00:51:16] ---- [ui] ui/reachable/expr_call.rs stdout ----
[00:51:16] diff of stderr:
[00:51:16] 
[00:51:16] - error: unreachable expression
[00:51:16] -   --> $DIR/expr_call.rs:22:17
[00:51:16] + error: functions with parameters of uninhabited types are uncallable
[00:51:16] +   --> $DIR/expr_call.rs:16:1
[00:51:16] 3    |
[00:51:16] - LL |     foo(return, 22); //~ ERROR unreachable
[00:51:16] -    |                 ^^
[00:51:16] + LL | fn foo(x: !, y: usize) { }
[00:51:16] +    | ^^^^^^^-^^^^^^^^^^^^^^^^^^
[00:51:16] +    |        this parameter has an uninhabited type
[00:51:16] 6    |
[00:51:16] 7 note: lint level defined here
[00:51:16] 8   --> $DIR/expr_call.rs:14:9
[00:51:16] 8   --> $DIR/expr_call.rs:14:9
[00:51:16] 
[00:51:16] 10 LL | #![deny(unreachable_code)]
[00:51:16] 12 
[00:51:16] 12 
[00:51:16] + error: functions with parameters of uninhabited types are uncallable
[00:51:16] +   --> $DIR/expr_call.rs:18:1
[00:51:16] +    |
[00:51:16] + LL | fn bar(x: !) { }
[00:51:16] +    | ^^^^^^^-^^^^^^^^
[00:51:16] +    |        this parameter has an uninhabited type
[00:51:16] + 
[00:51:16] 13 error: unreachable expression
[00:51:16] +   --> $DIR/expr_call.rs:22:17
[00:51:16] +   --> $DIR/expr_call.rs:22:17
[00:51:16] +    |
[00:51:16] + LL |     foo(return, 22); //~ ERROR unreachable
[00:51:16] + 
[00:51:16] + error: unreachable expression
[00:51:16] 14   --> $DIR/expr_call.rs:27:5
[00:51:16] 15    |
[00:51:16] 15    |
[00:51:16] 16 LL |     bar(return); //~ ERROR unreachable
[00:51:16] 17    |     ^^^^^^^^^^^
[00:51:16] 18 
[00:51:16] - error: aborting due to 2 previous errors
[00:51:16] + error: aborting due to 4 previous errors
[00:51:16] + error: aborting due to 4 previous errors
[00:51:16] 20 
[00:51:16] 21 
[00:51:16] 
[00:51:16] 
[00:51:16] The actual stderr differed from the expected stderr.
[00:51:16] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/reachable/expr_call/expr_call.stderr
[00:51:16] To update references, rerun the tests and pass the `--bless` flag
[00:51:16] To only update this specific test, also pass `--test-args reachable/expr_call.rs`
[00:51:16] error: 1 errors occurred comparing output.
[00:51:16] status: exit code: 1
[00:51:16] status: exit code: 1
[00:51:16] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/reachable/expr_call.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/reachable/expr_call/a" "-Crpath" "-O" "-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/reachable/expr_call/auxiliary" "-A" "unused"
[00:51:16] ------------------------------------------
[00:51:16] 
[00:51:16] ------------------------------------------
[00:51:16] stderr:
[00:51:16] stderr:
n   |        this parameter has an uninhabited type\n   |\nnote: lint level defined here\n  --> /checkout/src/test/ui/reachable/expr_call.rs:14:9\n   |\nLL | #![deny(unreachable_code)]\n   |         ^^^^^^^^^^^^^^^^\n\n"}
[00:51:16] {"message":"functions with parameters of uninhabited types are uncallable","code":{"code":"unreachable_code","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/reachable/expr_call.rs","byte_start":632,"byte_end":633,"line_start":18,"line_end":18,"column_start":8,"column_end":9,"is_primary":false,"text":[{"text":"fn bar(x: !) { }","highlight_start":8,"highlight_end":9}],"label":"this parameter has an uninhabited type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/reachable/expr_call.rs","byte_start":625,"byte_end":641,"line_start":18,"line_end":18,"column_start":1,"column_end":17,"is_primary":true,"text":[{"text":"fn bar(x: !) { }","highlight_start":1,"highlight_end":17}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: functions with parameters of uninhabited types are uncallable\n  --> /checkout/src/test/ui/reachable/expr_call.rs:18:1\n   |\nLL | fn bar(x: !) { }\n   | ^^^^^^^-^^^^^^^^\n   |        |\n   |        this parameter has an uninhabited type\n\n"}
[00:51:16] {"message":"unreachable expression","code":{"code":"unreachable_code","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/reachable/expr_call.rs","byte_start":700,"byte_end":702,"line_start":22,"line_end":22,"column_start":17,"column_end":19,"is_primary":true,"text":[{"text":"    foo(return, 22); //~ ERROR unreachable","highlight_start":17,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: unreachable expression\n  --> /checkout/src/test/ui/reachable/expr_call.rs:22:17\n   |\nLL |     foo(return, 22); //~ ERROR unreachable\n   |                 ^^\n\n"}
[00:51:16] {"message":"unreachable expression","code":{"code":"unreachable_code","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/reachable/expr_call.rs","byte_start":775,"byte_end":786,"line_start":27,"line_end":27,"column_start":5,"column_end":16,"is_primary":true,"text":[{"text":"    bar(return); //~ ERROR unreachable","highlight_start":5,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: unreachable expression\n  --> /checkout/src/test/ui/reachable/expr_call.rs:27:5\n   |\nLL |     bar(return); //~ ERROR unreachable\n   |     ^^^^^^^^^^^\n\n"}
[00:51:16] {"message":"aborting due to 4 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 4 previous errors\n\n"}
[00:51:16] ------------------------------------------
[00:51:16] 
[00:51:16] thread '[ui] ui/reachable/expr_call.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3196:9
[00:51:16] 
[00:51:16] 
[00:51:16] 
[00:51:16] failures:
[00:51:16]     [ui] ui/match/match-no-arms-unreachable-after.rs
[00:51:16]     [ui] ui/reachable/expr_call.rs
[00:51:107:25
[00:51:16] Makefile:58: recipe for target 'check' failed
[00:51:16] make: *** [check] Error 1

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:08ef0314
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
---
travis_time:end:10a74ede:start=1536678428405569714,finish=1536678428432075840,duration=26506126
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:02eb197c
$ 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:07388f79
$ 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)

@dtolnay

This comment has been minimized.

Member

dtolnay commented Sep 11, 2018

Thanks for the ping @Mark-Simulacrum. Yes we use this.
I would just add #[allow(unreachable_code)] if there were a lint, so not a big deal.

@bors

This comment has been minimized.

Contributor

bors commented Sep 23, 2018

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

@Aaronepower

This comment has been minimized.

Contributor

Aaronepower commented Sep 26, 2018

Triage; @nikomatsakis Hello, are you able to review this PR?

@nikomatsakis

This comment has been minimized.

Contributor

nikomatsakis commented Sep 27, 2018

I've not been reviewing this because it is marked as blocked on #54125, which has not yet landed.

@bors

This comment has been minimized.

Contributor

bors commented Oct 1, 2018

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

@varkor varkor force-pushed the varkor:lint-uncallable-function branch from 937a92e to 88a07ed Nov 20, 2018

@varkor

This comment has been minimized.

Member

varkor commented Nov 20, 2018

This now no longer depends on #54125.

@rust-highfive

This comment was marked as resolved.

Collaborator

rust-highfive commented Nov 20, 2018

The job x86_64-gnu-llvm-5.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:12000015:start=1542742727978586881,finish=1542742729155859064,duration=1177272183
$ 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
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---
[00:20:31]    Compiling rustc_tsan v0.0.0 (/checkout/src/librustc_tsan)
[00:20:31]    Compiling rustc_asan v0.0.0 (/checkout/src/librustc_asan)
[00:20:32]    Compiling rustc_lsan v0.0.0 (/checkout/src/librustc_lsan)
[00:20:32]    Compiling rustc_msan v0.0.0 (/checkout/src/librustc_msan)
[00:20:37] error: internal compiler error: librustc/hir/map/mod.rs:235: local_def_id: no entry for `118816`, which has a map of `None`
[00:20:37] thread 'main' panicked at 'Box<Any>', librustc_errors/lib.rs:600:9
[00:20:37] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:20:38] error: aborting due to previous error
[00:20:38] 
[00:20:38] 
[00:20:38] 
[00:20:38] note: the compiler unexpectedly panicked. this is a bug.
[00:20:38] 
[00:20:38] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[00:20:38] 
[00:20:38] note: rustc 1.32.0-dev running on x86_64-unknown-linux-gnu
[00:20:38] 
[00:20:38] note: compiler flags: -Z force-unstable-if-unmarked -C opt-level=2 -C prefer-dynamic -C debug-assertions=y -C codegen-units=1 -C link-args=-Wl,-rpath,$ORIGIN/../lib --crate-type lib
[00:20:38] note: some of the compiler flags provided by cargo are hidden
[00:20:38] 
[00:20:38] error: Could not compile `core`.
[00:20:38] 

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 varkor force-pushed the varkor:lint-uncallable-function branch from 88a07ed to 0a7c060 Nov 20, 2018

@rust-highfive

This comment was marked as resolved.

Collaborator

rust-highfive commented Nov 20, 2018

The job x86_64-gnu-llvm-5.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:0e6b4aca:start=1542747433764019602,finish=1542747434755635536,duration=991615934
$ 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
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---
[00:51:00] .............................i...................................................................... 600/5043
[00:51:04] .................................................................................................... 700/5043
[00:51:10] ..................................................................................i...........i..... 800/5043
[00:51:14] .................................................................................................... 900/5043
[00:51:17] .iiiii.............................................................................................. 1000/5043
[00:51:20] ......................................F............................................................. 1100/5043
[00:51:25] .................................................................................................... 1300/5043
[00:51:27] .................................................................................................... 1400/5043
[00:51:29] .................................................................................................... 1500/5043
[00:51:33] ..i....................................................................i............................ 1600/5043
---
[00:52:17] .................................................................................................... 2800/5043
[00:52:20] .................................................................................................... 2900/5043
[00:52:24] .................................................................................................... 3000/5043
[00:52:27] ...............................................i.................................................... 3100/5043
[00:52:31] ....................F............................................................................... 3200/5043
[00:52:38] .................................................................................................... 3400/5043
[00:52:41] ...........................................................................................ii....... 3500/5043
[00:52:44] .................................................................................................... 3600/5043
[00:52:45] .........i.......................................................................................... 3700/5043
[00:52:45] .........i.......................................................................................... 3700/5043
[00:52:46] .................................................................i.................................. 3800/5043
[00:52:48] .................................................................................................... 3900/5043
[00:52:52] ..............................................................................F..................... 4000/5043
[00:52:58] .................................................................................................... 4200/5043
[00:53:02] .........................i.......................................................................... 4300/5043
[00:53:07] .................................................................................................... 4400/5043
[00:53:10] .................................................................................................... 4500/5043
[00:53:10] .................................................................................................... 4500/5043
[00:53:14] .................................................................................................... 4600/5043
[00:53:18] .........i.......................................................................................... 4700/5043
[00:53:21] .................................................................................................... 4800/5043
[00:53:24] ...........................................................................F........................ 4900/5043
[00:53:28] - error: unreachable statement
[00:53:28] -   --> $DIR/match-no-arms-unreachable-after.rs:18:5
[00:53:28] -   --> $DIR/match-no-arms-unreachable-after.rs:18:5
[00:53:28] + error: functions with parameters of uninhabited types are uncallable
[00:53:28] +   --> $DIR/match-no-arms-unreachable-after.rs:16:1
[00:53:28] 3    |
[00:53:28] - LL |     let x = 2; //~ ERROR unreachable
[00:53:28] -    |     ^^^^^^^^^^
[00:53:28] + LL |   fn foo(v: Void) {
[00:53:28] +    |   ^      - this parameter has an uninhabited type
[00:53:28] +    |  _|
[00:53:28] +    | |
[00:53:28] + LL | |     match v { }
[00:53:28] + LL | |     let x = 2; //~ ERROR unreachable
[00:53:28] + LL | | }
[00:53:28] 6    |
[00:53:28] 7 note: lint level defined here
[00:53:28] 8   --> $DIR/match-no-arms-unreachable-after.rs:12:9
[00:53:28] 
[00:53:28] 
[00:53:28] 10 LL | #![deny(unreachable_code)]
[00:53:28] 12 
[00:53:28] - error: aborting due to previous error
[00:53:28] + error: unreachable statement
[00:53:28] +   --> $DIR/match-no-arms-unreachable-after.rs:18:5
[00:53:28] +   --> $DIR/match-no-arms-unreachable-after.rs:18:5
[00:53:28] +    |
[00:53:28] + LL |     let x = 2; //~ ERROR unreachable
[00:53:28] + 
[00:53:28] + error: aborting due to 2 previous errors
[00:53:28] 14 
[00:53:28] 15 
[00:53:28] 15 
[00:53:28] 
[00:53:28] 
[00:53:28] The actual stderr differed from the expected stderr.
[00:53:28] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/match/match-no-arms-unreachable-after/match-no-arms-unreachable-after.stderr
[00:53:28] To update references, rerun the tests and pass the `--bless` flag
[00:53:28] To only update this specERROR unreachable\n   |     ^^^^^^^^^^^\n\n"}
[00:53:28] {"message":"aborting due to 4 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 4 previous errors\n\n"}
[00:53:28] ------------------------------------------
[00:53:28] 
[00:53:28] thread '[ui] ui/reachable/expr_call.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3282:9
[00:53:28] 
[00:53:28] 
[00:53:28] ---- [ui] ui/unreachable/unwarned-match-on-never.rs stdout ----
[00:53:28] diff of stderr:
[00:53:28] 
[00:53:28] - error: unreachable expression
[00:53:28] -   --> $DIR/unwarned-match-on-never.rs:10:5
[00:53:28] + error: functions with parameters of uninhabited types are uncallable
[00:53:28] +   --> $DIR/unwarned-match-on-never.rs:6:1
[00:53:28] 3    |
[00:53:28] - LL |     match x {} //~ ERROR unreachable expression
[00:53:28] -    |     ^^^^^^^^^^
[00:53:28] + LL |   fn foo(x: !) -> bool {
[00:53:28] +    |   ^      - this parameter has an uninhabited type
[00:53:28] +    |  _|
[00:53:28] +    | |
[00:53:28] + LL | |     // Explicit matches on the never type are unwarned.
[00:53:28] + LL | |     match x {}
[00:53:28] + LL | |     // But matches in unreachable code are warned.
[00:53:28] + LL | |     match x {} //~ ERROR unreachable expression
[00:53:28] + LL | | }
[00:53:28] 6    |
[00:53:28] 7 note: lint level defined here
[00:53:28] 8   --> $DIR/unwarned-match-on-never.rs:1:9
[00:53:28] 
[00:53:28] 
[00:53:28] 10 LL | #![deny(unreachable_code)]
[00:53:28] 12 
[00:53:28] + error: unreachable expression
[00:53:28] +   --> $DIR/unwarned-match-on-never.rs:10:5
[00:53:28] +    |
[00:53:28] +    |
[00:53:28] + LL |     match x {} //~ ERROR unreachable expression
[00:53:28] + 
[00:53:28] 13 error: unreachable arm
[00:53:28] 14   --> $DIR/unwarned-match-on-never.rs:15:15
[00:53:28] 15    |
[00:53:28] 15    |
[00:53:28] 
[00:53:28] 24 LL | |     }
[00:53:28] 26 
[00:53:28] - error: aborting due to 3 previous errors
[00:53:28] + error: aborting due to 4 previous errors
[00:53:28] 28 
[00:53:28] 28 
[00:53:28] 29 
[00:53:28] 
[00:53:28] 
[00:53:28] The actual stderr differed from the expected stderr.
[00:53:28] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/unreachable/unwarned-match-on-never/unwarned-match-on-never.stderr
[00:53:28] To update references, rerun the tests and pass the `--bless` flag
[00:53:28] To only update this specific test, also pass `--test-args unreachable/unwarned-match-on-never.rs`
[00:53:28] error: 1 errors occurred comparing output.
[00:53:28] status: exit code: 1
[00:53:28] status: exit code: 1
[00:53:28] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/unreachable/unwarned-match-on-never.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/unreachable/unwarned-match-on-never/a" "-Crpath" "-O" "-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/unreachable/unwarned-match-on-never/auxiliary" "-A" "unused"
[00:53:28] ------------------------------------------
[00:53:28] 
[00:53:28] ------------------------------------------
[00:53:28] stderr:
[00:53:28] stderr:
[00:53:28] ------------------------------------------
[00:53:28] {"message":"functions with parameters of uninhabited types are uncallable","code":{"code":"unreachable_code","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/unreachable/unwarned-match-on-never.rs","byte_start":81,"byte_end":82,"line_start":6,"line_end":6,"column_start":8,"column_end":9,"is_primary":false,"text":[{"text":"fn foo(x: !) -> bool {","highlight_start":8,"highlight_end":9}],"label":"this parameter has an uninhabited type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/unreachable/unwarned-match-on-never.rs","byte_start":74,"byte_end":268,"line_start":6,"line_end":11,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"fn foo(x: !) -> bool {","highlight_start":1,"highlight_end":23},{"text":"    // Explicit matches on the never type are unwarned.","highlight_start":1,"highlight_end":56},{"text":"    match x {}","highlight_start":1,"highlight_end":15},{"text":"    // But matches in unreachable code are warned.","highlight_start":1,"highlight_end":51},{"text":"    match x {} //~ ERROR unreachable expression","highlight_start":1,"highlight_end":48},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"lint level defined here","code":null,"level":"note","spans":[{"file_name"nreachable expression\nLL | |         () => (),\nLL | |     }\n   | |_____^\n\n"}
[00:53:28] {"message":"aborting due to 4 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 4 previous errors\n\n"}
[00:53:28] ------------------------------------------
[00:53:28] 
[00:53:28] thread '[ui] ui/unreachable/unwarned-match-on-never.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3282:9
[00:53:28] 
---
[00:53:28] 
[00:53:28] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:503:22
[00:53:28] 
[00:53:28] 
[00:53:28] 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" "/

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)

@rust-highfive

This comment was marked as resolved.

Collaborator

rust-highfive commented Nov 20, 2018

The job x86_64-gnu-llvm-5.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:1e255d70:start=1542753533671964526,finish=1542753534741242685,duration=1069278159
$ 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
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---
[00:56:48] 
[00:56:48] running 5043 tests
[00:56:51] .................................................................................................... 100/5043
[00:56:54] .................................................................................................... 200/5043
[00:56:58] .............................ii............................................ii....................ii. 300/5043
[00:57:01] ...............................................................................................iii.. 400/5043
[00:57:04] .....iiiiiiii.iii............................iii...........................................i........ 500/5043
[00:57:12] .................................................................................................... 700/5043
[00:57:19] ..................................................................................i...........i..... 800/5043
[00:57:23] .................................................................................................... 900/5043
[00:57:23] .................................................................................................... 900/5043
[00:57:27] .iiiii...................iiiiii..................................................................... 1000/5043
[00:57:29] ............................................................................iiiiiiii................ 1100/5043
[00:57:35] .................................................................................................... 1300/5043
[00:57:38] .................................................................................................... 1400/5043
[00:57:40] .................................i.................................................................. 1500/5043
[00:57:44] ..i.........ii.........................................................i............................ 1600/5043
---
[00:58:07] .................................................................................................... 2200/5043
[00:58:12] .................................................................................................... 2300/5043
[00:58:16] .................................................................................................... 2400/5043
[00:58:20] .................................................................................................... 2500/5043
[00:58:25] .....................................................................................iiiiiiiii...... 2600/5043
[00:58:33] ...................................................ii............................................... 2800/5043
[00:58:36] .................................................................................................... 2900/5043
[00:58:41] .................................................................................................... 3000/5043
[00:58:44] ...............................................i.................................................... 3100/5043
---
[01:00:26] .................................................................................................... 300/2886
[01:00:38] .................................................................................................... 400/2886
[01:00:48] .................................................................................................... 500/2886
[01:01:01] .................................................................................................... 600/2886
[01:01:17] .............F...................................................................................... 700/2886
[01:01:41] .................................................................................................... 900/2886
[01:01:57] .................................................................................................... 1000/2886
[01:02:12] .................................................................................................... 1100/2886
[01:02:22] .................................................................................................... 1200/2886
[01:02:22] .................................................................................................... 1200/2886
[01:02:33] .................................................................................................... 1300/2886
[01:02:47] .................................................................F............i..................... 1400/2886
[01:03:01] .................................................................................................... 1500/2886
[01:03:16] ......................................F........i......................F............................. 1600/2886
[01:03:44] .................................................................................................... 1800/2886
[01:03:58] ..........................................................................i......................... 1900/2886
[01:03:58] ..........................................................................i......................... 1900/2886
[01:04:18] ............F................................i...................................................... 2000/2886
[01:04:58] .................................................................................................... 2200/2886
[01:05:16] ........ii.....................................................................i....i............... 2300/2886
[01:05:32] .......................i............................................................................ 2400/2886
[01:05:44] .................................................................................................... 2500/2886
---
[01:06:54] failures:
[01:06:54] 
[01:06:54] ---- [run-pass] run-pass/drop/drop-uninhabited-enum.rs stdout ----
[01:06:54] normalized stderr:
[01:06:54] warning: functions with parameters of uninhabited types are uncallable
[01:06:54]    |
[01:06:54]    |
[01:06:54] LL | fn foo(x: Foo) { }
[01:06:54]    | ^^^^^^^-^^^^^^^^^^
[01:06:54]    |        this parameter has an uninhabited type
[01:06:54]    |
[01:06:54]    = note: #[warn(unreachable_code)] on by default
[01:06:54] 
[01:06:54] 
[01:06:54] 
[01:06:54] 
[01:06:54] 
[01:06:54] The actual stderr differed from the expected stderr.
[01:06:54] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/drop/drop-uninhabited-enum/drop-uninhabited-enum.stderr
[01:06:54] To update references, rerun the tests and pass the `--bless` flag
[01:06:54] To only update this specific test, also pass `--test-args drop/drop-uninhabited-enum.rs`
[01:06:54] error: 1 errors occurred comparing output.
[01:06:54] status: exit code: 0
[01:06:54] status: exit code: 0
[01:06:54] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/drop/drop-uninhabited-enum.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/drop/drop-uninhabited-enum/a" "-Crpath" "-O" "-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/run-pass/drop/drop-uninhabited-enum/auxiliary"
[01:06:54] ------------------------------------------
[01:06:54] 
[01:06:54] ------------------------------------------
[01:06:54] stderr:
[01:06:54] stderr:
[01:06:54] ------------------------------------------
[01:06:54] {"message":"functions with parameters of uninhabited types are uncallable","code":{"code":"unreachable_code","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/run-pass/drop/drop-uninhabited-enum.rs","byte_start":632,"byte_end":633,"line_start":22,"line_end":22,"column_start":8,"column_end":9,"is_primary":false,"text":[{"text":"fn foo(x: Foo) { }","highlight_start":8,"highlight_end":9}],"label":"this parameter has an uninhabited type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/run-pass/drop/drop-uninhabited-enum.rs","byte_start":625,"byte_end":643,"line_start":22,"line_end":22,"column_start":1,"column_end":19,"is_primary":true,"text":[{"text":"fn foo(x: Foo) { }","highlight_start":1,"highlight_end":19}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[warn(unreachable_code)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: functions with parameters of uninhabited types are uncallable\n  --> /checkout/src/test/run-pass/drop/drop-uninhabited-enum.rs:22:1\n   |\nLL | fn foo(x: Foo) { }\n   | ^^^^^^^-^^^^^^^^^^\n   |        |\n   |        this parameter has an uninhabited type\n   |\n   = note: #[warn(unreachable_code)] on by default\n\n"}
[01:06:54] ------------------------------------------
[01:06:54] 
[01:06:54] thread '[run-pass] run-pass/drop/drop-uninhabited-enum.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3282:9
[01:06:54] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[01:06:54] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[01:06:54] 
[01:06:54] ---- [run-pass] run-pass/issues/issue-3037.rs stdout ----
[01:06:54] normalized stderr:
[01:06:54] warning: functions with parameters of uninhabited types are uncallable
[01:06:54]    |
[01:06:54]    |
[01:06:54] LL |   fn what_to_string(x: what) -> String
[01:06:54]    |   ^                 - this parameter has an uninhabited type
[01:06:54]    |  _|
[01:06:54]    | |
[01:06:54] LL | | {
[01:06:54] LL | |     match x {
[01:06:54] LL | |     }
[01:06:54] LL | | }
[01:06:54]    |
[01:06:54]    = note: #[warn(unreachable_code)] on by default
[01:06:54] 
[01:06:54] 
[01:06:54] 
[01:06:54] 
[01:06:54] 
[01:06:54] The actual stderr differed from the expected stderr.
[01:06:54] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/issues/issue-3037/issue-3037.stderr
[01:06:54] To update references, rerun the tests and pass the `--bless` flag
[01:06:54] To only update this specific test, also pass `--test-args issues/issue-3037.rs`
[01:06:54] error: 1 errors occurred comparing output.
[01:06:54] status: exit code: 0
[01:06:54] status: exit code: 0
[01:06:54] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/issues/issue-3037.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/issues/issue-3037/a" "-Crpath" "-O" "-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/run-pass/issues/issue-3037/auxiliary"
[01:06:54] ------------------------------------------
[01:06:54] 
[01:06:54] ------------------------------------------
[01:06:54] stderr:
[01:06:54] stderr:
[01:06:54] ------------------------------------------
[01:06:54] {"message":"functions with parameters of uninhabited types are uncallable","code":{"code":"unreachable_code","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/run-pass/issues/issue-3037.rs","byte_start":598,"byte_end":599,"line_start":18,"line_end":18,"column_start":19,"column_end":20,"is_primary":false,"text":[{"text":"fn what_to_string(x: what) -> String","highlight_start":19,"highlight_end":20}],"label":"this parameter has an uninhabited type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/run-pass/issues/issue-3037.rs","byte_start":580,"byte_end":640,"line_start":18,"line_end":22,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"fn what_to_string(x: what) -> String","highlight_start":1,"highlight_end":37},{"text":"{","highlight_start":1,"highlight_end":2},{"text":"    match x {","highlight_start":1,"highlight_end":14},{"text":"    }","highlight_start":1,"highlight_end":6},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[warn(unreachable_code)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: functions with parameters of uninhabited types are uncallable\n  --> /checkout/src/test/run-pass/issues/issue-3037.rs:18:1\n   |\nLL |   fn what_to_string(x: what) -> String\n   |   ^                 - this parameter has an uninhabited type\n   |  _|\n   | |\nLL | | {\nLL | |     match x {\nLL | |     }\nLL | | }\n   | |_^\n   |\n   = note: #[warn(unreachable_code)] on by default\n\n"}
[01:06:54] ------------------------------------------
[01:06:54] 
[01:06:54] thread '[run-pass] run-pass/issues/issue-3037.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3282:9
[01:06:54] 
[01:06:54] 
[01:06:54] ---- [run-pass] run-pass/issues/issue-46855.rs stdout ----
[01:06:54] normalized stderr:
[01:06:54] warning: functions with parameters of uninhabited types are uncallable
[01:06:54]    |
[01:06:54]    |
[01:06:54] LL | fn foo(xs: [(Never, u32); 1]) -> u32 { xs[0].1 }
[01:06:54]    | ^^^^^^^--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[01:06:54]    |        this parameter has an uninhabited type
[01:06:54]    |
[01:06:54]    = note: #[warn(unreachable_code)] on by default
[01:06:54] 
[01:06:54] 
[01:06:54] warning: functions with parameters of uninhabited types are uncallable
[01:06:54]    |
[01:06:54]    |
[01:06:54] LL | fn bar([(_, x)]: [(Never, u32); 1]) -> u32 { x }
[01:06:54]    |        |
[01:06:54]    |        this parameter has an uninhabited type
[01:06:54] 
[01:06:54] 
[01:06:54] 
[01:06:54] 
[01:06:54] 
[01:06:54] The actual stderr differed from the expected stderr.
[01:06:54] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/issues/issue-46855/issue-46855.stderr
[01:06:54] To update references, rerun the tests and pass the `--bless` flag
[01:06:54] To only update this specific test, also pass `--test-args issues/issue-46855.rs`
[01:06:54] error: 1 errors occurred comparing output.
[01:06:54] status: exit code: 0
[01:06:54] status: exit code: 0
[01:06:54] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/issues/issue-46855.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/issues/issue-46855/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Zmir-opt-level=1" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/issues/issue-46855/auxiliary"
[01:06:54] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:503:22
[01:06:54] ------------------------------------------
[01:06:54] 
[01:06:54] ------------------------------------------
[01:06:54] stderr:
[01:06:54] stderr:
[01:06:54] ------------------------------------------
[01:06:54] {"message":"functions with parameters of uninhabited types are uncallable","code":{"code":"unreachable_code","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/run-pass/issues/issue-46855.rs","byte_start":637,"byte_end":639,"line_start":25,"line_end":25,"column_start":8,"column_end":10,"is_primary":false,"text":[{"text":"fn foo(xs: [(Never, u32); 1]) -> u32 { xs[0].1 }","highlight_start":8,"highlight_end":10}],"label":"this parameter has an uninhabited type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/run-pass/issues/issue-46855.rs","byte_start":630,"byte_end":678,"line_start":25,"line_end":25,"column_start":1,"column_end":49,"is_primary":true,"text":[{"text":"fn foo(xs: [(Never, u32); 1]) -> u32 { xs[0].1 }","highlight_start":1,"highnu/stage2/bin/rustc" "/checkout/src/test/run-pass/issues/issue-50731.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/issues/issue-50731/a" "-Crpath" "-O" "-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/run-pass/issues/issue-50731/auxiliary"
[01:06:54] ------------------------------------------
[01:06:54] 
[01:06:54] ------------------------------------------
[01:06:54] stderr:
[01:06:54] stderr:
[01:06:54] ------------------------------------------
[01:06:54] {"message":"functions with parameters of uninhabited types are uncallable","code":{"code":"unreachable_code","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/run-pass/issues/issue-50731.rs","byte_start":499,"byte_end":500,"line_start":13,"line_end":13,"column_start":8,"column_end":9,"is_primary":false,"text":[{"text":"fn foo(_: Result<(Void, u32), (Void, String)>) {}","highlight_start":8,"highlight_end":9}],"label":"this parameter has an uninhabited type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/run-pass/issues/issue-50731.rs","byte_start":492,"byte_end":541,"line_start":13,"line_end":13,"column_start":1,"column_end":50,"is_primary":true,"text":[{"text":"fn foo(_: Result<(Void, u32), (Void, String)>) {}","highlight_start":1,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[warn(unreachable_code)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: functions with parameters of uninhabited types are uncallable\n  --> /checkout/src/test/run-pass/issues/issue-50731.rs:13:1\n   |\nLL | fn foo(_: Result<(Void, u32), (Void, String)>) {}\n   | ^^^^^^^-^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n   |        |\n   |        this parameter has an uninhabited type\n   |\n   = note: #[warn(unreachable_code)] on by default\n\n"}
[01:06:54] ------------------------------------------
[01:06:54] 
[01:06:54] thread '[run-pass] run-pass/issues/issue-50731.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3282:9
[01:06:54] 
[01:06:54] 
[01:06:54] ---- [run-pass] run-pass/never-type-rvalues.rs stdout ----
[01:06:54] normalized stderr:
[01:06:54] warning: functions with parameters of uninhabited types are uncallable
[01:06:54]   --> $DIR/never-type-rvalues.rs:16:1
[01:06:54]    |
[01:06:54] LL |   fn never_direct(x: !) {
[01:06:54]    |   ^               - this parameter has an uninhabited type
[01:06:54]    |  _|
[01:06:54]    | |
[01:06:54] LL | |     x;
[01:06:54] LL | | }
[01:06:54]    |
[01:06:54]    = note: #[warn(unreachable_code)] on by default
[01:06:54] 
[01:06:54] 
[01:06:54] warning: functions with parameters of uninhabited types are uncallable
[01:06:54]   --> $DIR/never-type-rvalues.rs:20:1
[01:06:54]    |
[01:06:54] LL |   fn never_ref_pat(ref x: !) {
[01:06:54]    |   ^                ----- this parameter has an uninhabited type
[01:06:54]    |  _|
[01:06:54]    | |
[01:06:54] LL | |     *x;
[01:06:54] LL | | }
[01:06:54] 
[01:06:54] 
[01:06:54] warning: functions with parameters of uninhabited types are uncallable
[01:06:54]   --> $DIR/never-type-rvalues.rs:24:1
[01:06:54]    |
[01:06:54] LL |   fn never_ref(x: &!) {
[01:06:54]    |   ^            - this parameter has an uninhabited type
[01:06:54]    |  _|
[01:06:54]    | |
[01:06:54] LL | |     let &y = x;
[01:06:54] LL | |     y;
[01:06:54] LL | | }
[01:06:54] 
[01:06:54] 
[01:06:54] 
[01:06:54] 
[01:06:54] 
[01:06:54] The actual stderr differed from the expected stderr.
[01:06:54] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/never-type-rvalues/never-type-rvalues.stderr
[01:06:54] To update references, rerun the tests and pass the `--bless` flag
[01:06:54] To only update this specific test, also pass `--test-args never-type-rvalues.rs`
[01:06:54] error: 1 errors occurred comparing output.
[01:06:54] status: exit code: 0
[01:06:54] status: exit code: 0
[01:06:54] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/never-type-rvalues.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/never-type-rvalues/a" "-Crpath" "-O" "-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/run-pass/never-type-rvalues/auxiliary"
[01:06:54] ------------------------------------------
[01:06:54] 
[01:06:54] ------------------------------------------
[01:06:54] stderr:
[01:06:54] stderr:
[01:06:54] ------------------------------------------
[01:06:54] {"message":"functions with parameters of uninhabited types are uncallable","code":{"code":"unreachable_code","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/run-pass/never-type-rvalues.rs","byte_start":588,"byte_end":589,"line_start":16,"line_end":16,"column_start":17,"column_end":18,"is_primary":false,"text":[{"text":"fn never_direct(x: !) {","highlight_start":17,"highlight_end":18}],"label":"this parameter has an uninhabited type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/run-pass/never-type-rvalues.rs","byte_start":572,"byte_end":604,"line_start":16,"line_end":18,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"fn never_direct(x: !) {","highlight_start":1,"highlight_end":24},{"text":"    x;","highlight_start":1,"highlight_end":7},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[warn(unreachable_code)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: functions with parameters of uninhabited types are uncallable\n  --> /checkout/src/test/run-pass/never-type-rvalues.rs:16:1\n   |\nLL |   fn never_direct(x: !) {\n   |   ^               - this parameter has an uninhabited type\n   |  _|\n   | |\nLL | |     x;\nLL | | }\n   | |_^\n   |\n   = note: #[warn(unreachable_code)] on by default\n\n"}
[01:06:54] {"message":"functions with parameters of uninhabited types are uncallable","code":{"code":"unreachable_code","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/run-pass/never-type-rvalues.rs","byte_start":623,"byte_end":628,"line_start":20,"line_end":20,"column_start":18,"column_end":23,"is_primary":false,"text":[{"text":"fn never_ref_pat(ref x: !) {","highlight_start":18,"highlight_end":23}],"label":"this parameter has an uninhabited type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/run-pass/never-type-rvalues.rs","byte_start":606,"byte_end":644,"line_start":20,"line_end":22,"column_start":1,"column_end":2,"is_primary":true,"text":[{"text":"fn never_ref_pat(ref x: !) {","highlight_start":1,"highlight_end":29},{"text":"    *x;","highlight_start":1,"highlight_end":8},{"text":"}","highlight_start":1,"highlight_end":2}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: functions with parameters of uninhabited types are uncallable\n  --> /checkout/src/test/run-pass/never-type-rvalues.rs:20:1\n   |\nLL |   fn never_ref_pat(ref x: !) {\n   |   ^                ----- this parameter has an uninhabited type\n   |  _|\n   | |\nLL | |     *x;\nLL | | }\n   | |_^\n\n"}
[01:06:54] {"message":"functions with parameters of uninhabited types are uncallable","code":{"code":"unreachable_code","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/run-pass/never-type-rvalues.rs","byte_start":659,"byte_end":660,"line_start":24,"line_end":24,"column_start":14,"coluTue, 20 Nov 2018 23:45:59 GMT
The command "date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
" exited with 0.
travis_fold:start:after_failure.1
travis_time:start:0db8b5cb

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 varkor force-pushed the varkor:lint-uncallable-function branch from dd385a8 to f7405ad Nov 21, 2018

@rust-highfive

This comment was marked as resolved.

Collaborator

rust-highfive commented Nov 21, 2018

The job x86_64-gnu-llvm-5.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:051fb818:start=1542760089274074853,finish=1542760142405269747,duration=53131194894
$ 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
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---
[00:48:18] .................................................................................................... 100/5043
[00:48:21] .................................................................................................... 200/5043
[00:48:24] ..............................ii...........................................ii...................ii.. 300/5043
[00:48:26] ..............................................................................................iii... 400/5043
[00:48:29] .....iiiiiiii.iii............................iii...........................................i........ 500/5043
[00:48:35] .................................................................................................... 700/5043
[00:48:41] ..................................................................................i...........i..... 800/5043
[00:48:44] .................................................................................................... 900/5043
[00:48:44] .................................................................................................... 900/5043
[00:48:47] .iiiii...................iiiiii..................................................................... 1000/5043
[00:48:49] ............................................................................iiiiiiii................ 1100/5043
[00:48:53] .................................................................................................... 1300/5043
[00:48:55] .................................................................................................... 1400/5043
[00:48:58] .................................i.................................................................. 1500/5043
[00:49:00] ..i.........ii.........................................................i............................ 1600/5043
---
[00:49:20] .................................................................................................... 2200/5043
[00:49:24] .................................................................................................... 2300/5043
[00:49:28] .................................................................................................... 2400/5043
[00:49:31] .................................................................................................... 2500/5043
[00:49:34] .....................................................................................iiiiiiiii...... 2600/5043
[00:49:41] ...................................................ii............................................... 2800/5043
[00:49:43] .................................................................................................... 2900/5043
[00:49:47] .................................................................................................... 3000/5043
[00:49:50] ...............................................i.................................................... 3100/5043
---
[00:52:25] .................................................................................................... 1000/2886
[00:52:37] .................................................................................................... 1100/2886
[00:52:44] .................................................................................................... 1200/2886
[00:52:53] .................................................................................................... 1300/2886
[00:53:04] .................................................................F............i..................... 1400/2886
[00:53:15] .................................................................................................... 1500/2886
[00:53:27] ......................................F........i.................................................... 1600/2886
[00:53:51] .................................................................................................... 1800/2886
[00:54:02] ..........................................................................i......................... 1900/2886
[00:54:18] .............................................i...................................................... 2000/2886
[00:54:43] .................................................................................................... 2100/2886
---
[00:56:26] normalized stderr:
[00:56:26] warning: unreachable expression
[00:56:26]   --> $DIR/issue-3037.rs:19:5
[00:56:26]    |
[00:56:26] LL |     match x {}
[00:56:26]    |
[00:56:26]    = note: #[warn(unreachable_code)] on by default
[00:56:26] 
[00:56:26] warning: unused variable: `x`
[00:56:26] warning: unused variable: `x`
[00:56:26]   --> $DIR/issue-3037.rs:18:9
[00:56:26]    |
[00:56:26] LL |     let x: Void = unimplemented!();
[00:56:26]    |         ^ help: consider using `_x` instead
[00:56:26]    = note: #[warn(unused_variables)] on by default
[00:56:26] 
[00:56:26] 
[00:56:26] 
[00:56:26] 
[00:56:26] 
[00:56:26] The actual stderr differed from the expected stderr.
[00:56:26] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/issues/issue-3037/issue-3037.stderr
[00:56:26] To update references, rerun the tests and pass the `--bless` flag
[00:56:26] To only update this specific test, also pass `--test-args issues/issue-3037.rs`
[00:56:26] error: 1 errors occurred comparing output.
[00:56:26] status: exit code: 0
[00:56:26] status: exit code: 0
[00:56:26] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/run-pass/issues/issue-3037.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass/issues/issue-3037/a" "-Crpath" "-O" "-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/run-pass/issues/issue-3037/auxiliary"
[00:56:26] ------------------------------------------
[00:56:26] 
[00:56:26] ------------------------------------------
[00:56:26] stderr:
[00:56:26] stderr:
[00:56:26] ------------------------------------------
[00:56:26] {"message":"unreachable expression","code":{"code":"unreachable_code","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/run-pass/issues/issue-3037.rs","byte_start":619,"byte_end":629,"line_start":19,"line_end":19,"column_start":5,"column_end":15,"is_primary":true,"text":[{"text":"    match x {}","highlight_start":5,"highlight_end":15}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[warn(unreachable_code)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: unreachable expression\n  --> /checkout/src/test/run-pass/issues/issue-3037.rs:19:5\n   |\nLL |     match x {}\n   |     ^^^^^^^^^^\n   |\n   = note: #[warn(unreachable_code)] on by default\n\n"}
[00:56:26] {"message":"unused variable: `x`","code":{"code":"unused_variables","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/run-pass/issues/issue-3037.rs","byte_start":587,"byte_end":588,"line_start":18,"line_end":18,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":"    let x: Void = unimplemented!();","highlight_start":9,"highlight_end":10}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[warn(unused_variables)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"consider using `_x` instead","code":null,"level":"help","spans":[{"file_name":"/checkout/src/test/run-pass/issues/issue-3037.rs","byte_start":587,"byte_end":588,"line_start":18,"line_end":18,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":"    let x: Void = unimplemented!();","highlight_start":9,"highlight_end":10}],"label":null,"suggested_replacement":"_x","suggestion_applicability":"MachineApplicable","expansion":null}],"children":[],"rendered":null}],"rendered":"warning: unused variable: `x`\n  --> /checkout/src/test/run-pass/issues/issue-3037.rs:18:9\n   |\nLL |     let x: Void = unimplemented!();\n   |         ^ help: consider using `_x` instead\n   |\n   = note: #[warn(unused_variables)] on by default\n\n"}
[00:56:26] ------------------------------------------
[00:56:26] 
[00:56:26] thread '[run-pass] run-pass/issues/issue-3037.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3282:9
[00:56:26] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:56:26] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:56:26] 
[00:56:26] ---- [run-pass] run-pass/issues/issue-46855.rs stdout ----
[00:56:26] normalized stderr:
[00:56:26] warning: functions with parameters of uninhabited types are uncallable
[00:56:26]    |
[00:56:26]    |
[00:56:26] LL | fn foo(xs: [(Never, u32); 1]) -> u32 { xs[0].1 }
[00:56:26]    | ^^^^^^^--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[00:56:26]    |        this parameter has an uninhabited type
[00:56:26]    |
[00:56:26]    = note: #[warn(unreachable_code)] on by default
[00:56:26] 
[00:56:26] 
[00:56:26] warning: functions with parameters of uninhabited types are uncallable
[00:56:26]    |
[00:56:26]    |
[00:56:26] LL | fn bar([(_, x)]: [(Never, u32); 1]) -> u32 { x }
[00:56:26]    |        |
[00:56:26]    |        this parameter has an uninhabited type
[00:56:26] 
[00:56:26] 
[00:56:26] 
[00:56:26] 
[00:56:26] 
[00:56:26] The actual stderr differed from the expected stderr.
[00:56:26] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gity":null,"expansion":null},{"file_name":"/checkout/src/test/run-pass/issues/issue-46855.rs","byte_start":630,"byte_end":678,"line_start":25,"line_end":25,"column_start":1,"column_end":49,"is_primary":true,"text":[{"text":"fn foo(xs: [(Never, u32); 1]) -> u32 { xs[0].1 }","highlight_start":1,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"#[warn(unreachable_code)] on by default","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"warning: functions with parameters of uninhabited types are uncallable\n  --> /checkout/src/test/run-pass/issues/issue-46855.rs:25:1\n   |\nLL | fn foo(xs: [(Never, u32); 1]) -> u32 { xs[0].1 }\n   | ^^^^^^^--^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n   |        |\n   |        this parameter has an uninhabited type\n   |\n   = note: #[warn(unreachable_code)] on by default\n\n"}
[00:56:26] {"message":"functions with parameters of uninhabited types are uncallable","code":{"code":"unreachable_code","explanation":null},"level":"warning","spans":[{"file_name":"/checkout/src/test/run-pass/issues/issue-46855.rs","byte_start":687,"byte_end":695,"line_start":27,"line_end":27,"column_start":8,"column_end":16,"is_primary":false,"text":[{"text":"fn bar([(_, x)]: [(Never, u32); 1]) -> u32 { x }","highlight_start":8,"highlight_end":16}],"label":"this parameter has an uninhabited type","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/run-pass/issues/issue-46855.rs","byte_start":680,"byte_end":728,"line_start":27,"line_end":27,"column_start":1,"column_end":49,"is_primary":true,"text":[{"text":"fn bar([(_, x)]: [(Never, u32); 1]) -> u32 { x }","highlight_start":1,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: functions with parameters of uninhabited types are uncallable\n  --> /checkout/src/test/run-pass/issues/issue-46855.rs:27:1\n   |\nLL | fn bar([(_, x)]: [(Never, u32); 1]) -> u32 { x }\n   | ^^^^^^^--------^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^\n   |        |\n   |        this parameter has an uninhabited type\n\n"}
[00:56:26] ------------------------------------------
[00:56:26] 
[00:56:26] thread '[run-pass] run-pass/issues/issue-46855.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3282:9
[00:56:26] 
---
[00:56:26] 
[00:56:26] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:503:22
[00:56:26] 
[00:56:26] 
[00:56:26] 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/run-pass" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/run-pass" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "run-pass" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-5.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options " "--target-rustcflags" "-Crpath -O -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" "5.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:56:26] 
[00:56:26] 
[00:56:26] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:56:26] Build completed unsuccessfully in 0:11:44
[00:56:26] Build completed unsuccessfully in 0:11:44
[00:56:26] make: *** [check] Error 1
[00:56:26] Makefile:58: recipe for target 'check' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:2ea617f2
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Wed Nov 21 01:25:37 UTC 2018
---
142668 ./obj/build/x86_64-unknown-linux-gnu/stage1-rustc
136912 ./obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu
136908 ./obj/build/x86_64-unknown-linux-gnu/stage1-rustc/x86_64-unknown-linux-gnu/release
134652 ./obj/build/bootstrap/debug/incremental/bootstrap-1crps3s9gh6vp
134648 ./obj/build/bootstrap/debug/incremental/bootstrap-1crps3s9gh6vp/s-f6v2ajvuge-xxqahu-1hoekcm7rhrrx
130772 ./obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu
130768 ./obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release
123692 ./obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/x86_64-unknown-linux-gnu/release/deps
115736 ./obj/build/x86_64-unknown-linux-gnu/stage0-bootstrap-tools/release

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 varkor force-pushed the varkor:lint-uncallable-function branch 2 times, most recently from 4ba3269 to a10962b Nov 21, 2018

@rust-highfive

This comment was marked as resolved.

Collaborator

rust-highfive commented Nov 21, 2018

The job x86_64-gnu-llvm-5.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:0418bbc2:start=1542809233098070872,finish=1542809288130516335,duration=55032445463
$ 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
Setting environment variables from .travis.yml
$ export IMAGE=x86_64-gnu-llvm-5.0
---
[00:56:02] .................................................................................................... 100/5043
[00:56:05] .................................................................................................... 200/5043
[00:56:08] .............................ii............................................ii....................ii. 300/5043
[00:56:10] ..............................................................................................iii... 400/5043
[00:56:13] .....iiiiiiii.iii............................iii...........................................i........ 500/5043
[00:56:21] .................................................................................................... 700/5043
[00:56:27] ..................................................................................i...........i..... 800/5043
[00:56:30] .................................................................................................... 900/5043
[00:56:34] .iiiii..................ii.iiii..................................................................... 1000/5043
---
[00:57:10] .................................................................................................... 2200/5043
[00:57:14] .................................................................................................... 2300/5043
[00:57:18] .................................................................................................... 2400/5043
[00:57:22] .................................................................................................... 2500/5043
[00:57:26] .....................................................................................iiiiiiiii...... 2600/5043
[00:57:33] ...................................................ii............................................... 2800/5043
[00:57:36] .................................................................................................... 2900/5043
[00:57:40] .................................................................................................... 3000/5043
[00:57:43] ...............................................i.................................................... 3100/5043
---
travis_time:start:test_codegen
Check compiletest suite=codegen mode=codegen (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:12:14] 
[01:12:14] running 117 tests
[01:12:17] i..ii...iii..iiii.....i...i.........i..iii...........i.....i.....ii...i..i.ii..............i...ii..i 100/117
[01:12:17] i.i.....iiii.....
[01:12:17] 
[01:12:17]  finished in 3.617
[01:12:17] travis_fold:end:test_codegen

---
travis_time:start:test_debuginfo
Check compiletest suite=debuginfo mode=debuginfo-both (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:12:32] 
[01:12:32] running 118 tests
[01:12:56] .iiiii...i.....i..i...i..i.i..i.i..i.....i..i....i..........iiii.........i.i....i...i.......ii.i.i.i 100/118
[01:13:00] ......iii.i.....ii
[01:13:00] 
[01:13:00]  finished in 27.617
[01:13:00] travis_fold:end:test_debuginfo

---
[01:47:39] 
[01:47:39] failures:
[01:47:39] 
[01:47:39] ---- /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md - Rust_Compiler_Error_Index::E0055 (line 1223) stdout ----
[01:47:39] error: reached recursion limit while checking inhabitedness of `Foo`
[01:47:39] 
[01:47:39] thread '/checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md - Rust_Compiler_Error_Index::E0055 (line 1223)' panicked at 'Some expected error codes were not found: ["E0055"]', librustdoc/test.rs:328:9
[01:47:39] 
[01:47:39] 
[01:47:39] failures:
[01:47:39]     /checkout/obj/build/x86_64-unknown-linux-gnu/test/error-index.md - Rust_Compiler_Error_Index::E0055 (line 1223)
---
[01:47:39] 
[01:47:39] 
[01:47:39] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:47:39] Build completed unsuccessfully in 0:55:41
[01:47:39] make: *** [check] Error 1
[01:47:39] Makefile:58: recipe for target 'check' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:03effc4c
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Wed Nov 21 15:55:55 UTC 2018

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 varkor force-pushed the varkor:lint-uncallable-function branch from a10962b to 5d7ebdb Nov 21, 2018

@TimNN

This comment has been minimized.

Contributor

TimNN commented Nov 27, 2018

Ping from triage @nikomatsakis: It looks like this PR is ready for your review.

@bors

This comment has been minimized.

Contributor

bors commented Nov 29, 2018

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

@varkor varkor force-pushed the varkor:lint-uncallable-function branch from 5d7ebdb to 2ca38e0 Nov 29, 2018

@bors

This comment has been minimized.

Contributor

bors commented Dec 7, 2018

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

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment