Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rollup of 7 pull requests #67263

Closed
wants to merge 19 commits into from
Closed

Conversation

Centril
Copy link
Contributor

@Centril Centril commented Dec 12, 2019

Successful merges:

Failed merges:

r? @ghost

Nicholas Matsakis and others added 19 commits December 11, 2019 09:49
Because it's unused. This then allows the removal of
`MatcherPos::sp_open`. It's a tiny perf win, reducing instruction counts
by 0.1% - 0.2% on a few benchmarks.
…f-never-type, r=centril

Revert stabilization of never type

Fixes rust-lang#66757

I decided to keep the separate `never-type-fallback` feature gate, but tried to otherwise revert rust-lang#65355. Seemed pretty clean.

( cc @Centril, author of rust-lang#65355, you may want to check this over briefly )
…drAus

VecDeque: drop remaining items on destructor panic

Closes rust-lang#67232
…KodrAus

LinkedList: drop remaining items when drop panics

rust-lang#67235, but for `LinkedList`, which has the same issue.

I've also copied over the other drop-related tests from `VecDeque` since AFAICT `LinkedList` didn't have any.
…Match-MatchedSeq, r=Centril

Remove the `DelimSpan` from `NamedMatch::MatchedSeq`.

Because it's unused. This then allows the removal of
`MatcherPos::sp_open`. It's a tiny perf win, reducing instruction counts
by 0.1% - 0.2% on a few benchmarks.

r? @Centril
Require `allow_internal_unstable` for stable min_const_fn using unsta…

…ble features

r? @Centril

cc @ecstatic-morse @RalfJung
…ly, r=alexcrichton

Remove i686-unknown-dragonfly target

DragonFly BSD removed support for i386 a while ago. It only supports x86_64 right now.
@Centril
Copy link
Contributor Author

Centril commented Dec 12, 2019

@bors r+ p=7 rollup=never

@bors
Copy link
Contributor

bors commented Dec 12, 2019

📌 Commit 8e6c199 has been approved by Centril

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label Dec 12, 2019
@Centril Centril added the rollup A PR which is a rollup label Dec 12, 2019
@bors
Copy link
Contributor

bors commented Dec 13, 2019

⌛ Testing commit 8e6c199 with merge 0f41d81a9113a781232f99a9d94fa7562d178c7d...

@rust-highfive
Copy link
Collaborator

The job x86_64-gnu-tools of your PR failed (pretty log, 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-12-13T01:31:16.1877701Z ---- /checkout/src/doc/reference/src/types/never.md - Never_type (line 10) stdout ----
2019-12-13T01:31:16.1878040Z error[E0658]: The `!` type is experimental
2019-12-13T01:31:16.1878537Z  --> /checkout/src/doc/reference/src/types/never.md:11:8
2019-12-13T01:31:16.1879093Z   |
2019-12-13T01:31:16.1879359Z 3 | let x: ! = panic!();
2019-12-13T01:31:16.1879843Z   |
2019-12-13T01:31:16.1884454Z   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T01:31:16.1884454Z   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T01:31:16.1884817Z   = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T01:31:16.1884986Z error: aborting due to previous error
2019-12-13T01:31:16.1885034Z 
2019-12-13T01:31:16.1885454Z For more information about this error, try `rustc --explain E0658`.
2019-12-13T01:31:16.1885709Z Couldn't compile the test.
---
2019-12-13T01:44:49.9903660Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9904015Z 
2019-12-13T01:44:49.9904538Z     ┌── borrow_check/region_inference.md:34:5 ───
2019-12-13T01:44:49.9905290Z     │
2019-12-13T01:44:49.9905850Z  34 │     [`RegionInferenceContext`] and invoking its [`solve`]
2019-12-13T01:44:49.9907370Z     │
2019-12-13T01:44:49.9907590Z 
2019-12-13T01:44:49.9908250Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9908708Z 
2019-12-13T01:44:49.9908708Z 
2019-12-13T01:44:49.9909206Z     ┌── borrow_check/region_inference.md:34:49 ───
2019-12-13T01:44:49.9909790Z     │
2019-12-13T01:44:49.9910238Z  34 │     [`RegionInferenceContext`] and invoking its [`solve`]
2019-12-13T01:44:49.9911102Z     │
2019-12-13T01:44:49.9911944Z 
2019-12-13T01:44:49.9911944Z 
2019-12-13T01:44:49.9912721Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/universal_regions/struct.UniversalRegions.html"
2019-12-13T01:44:49.9913517Z     ┌── borrow_check/region_inference.md:50:5 ───
2019-12-13T01:44:49.9913967Z     │
2019-12-13T01:44:49.9913967Z     │
2019-12-13T01:44:49.9914464Z  50 │ The [`UniversalRegions`] type represents a collection of _universal_ regions
2019-12-13T01:44:49.9915533Z     │
2019-12-13T01:44:49.9915689Z 
2019-12-13T01:44:49.9915689Z 
2019-12-13T01:44:49.9916208Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/universal_regions/struct.UniversalRegions.html"
2019-12-13T01:44:49.9916841Z     ┌── borrow_check/region_inference.md:53:12 ───
2019-12-13T01:44:49.9917219Z     │
2019-12-13T01:44:49.9917219Z     │
2019-12-13T01:44:49.9917686Z  53 │ variables. [`UniversalRegions`] contains indices for all the free regions in
2019-12-13T01:44:49.9918537Z     │
2019-12-13T01:44:49.9918702Z 
2019-12-13T01:44:49.9919229Z error: The server responded with 404 Not Found for "https://github.com/rust-lang/rust/tree/master/src/librustc_mir/borrow_check/nll/region_infer/"
2019-12-13T01:44:49.9919430Z 
2019-12-13T01:44:49.9919430Z 
2019-12-13T01:44:49.9919850Z     ┌── borrow_check/region_inference.md:81:34 ───
2019-12-13T01:44:49.9920257Z     │
2019-12-13T01:44:49.9920661Z  81 │ for all regions is maintained in [the
2019-12-13T01:44:49.9921847Z     │                                  ^ Server responded with 404 Not Found
2019-12-13T01:44:49.9922766Z     │
2019-12-13T01:44:49.9922982Z 
2019-12-13T01:44:49.9923601Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/constraint_generation/fn.generate_constraints.html"
2019-12-13T01:44:49.9924315Z      ┌── borrow_check/region_inference.md:116:45 ───
2019-12-13T01:44:49.9924905Z      │
2019-12-13T01:44:49.9926720Z  116 │    used. These constraints are collected by [`generate_constraints`].
2019-12-13T01:44:49.9927043Z      │                                             ^ Server responded with 404 Not Found
2019-12-13T01:44:49.9927043Z      │                                             ^ Server responded with 404 Not Found
2019-12-13T01:44:49.9927252Z      │
2019-12-13T01:44:49.9927305Z 
2019-12-13T01:44:49.9927683Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9927797Z 
2019-12-13T01:44:49.9928039Z      ┌── borrow_check/region_inference.md:131:1 ───
2019-12-13T01:44:49.9928249Z      │
2019-12-13T01:44:49.9928456Z  131 │ [`propagate_constraints`].
2019-12-13T01:44:49.9928892Z      │
2019-12-13T01:44:49.9928944Z 
2019-12-13T01:44:49.9929316Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9929427Z 
2019-12-13T01:44:49.9929427Z 
2019-12-13T01:44:49.9929666Z      ┌── borrow_check/region_inference.md:134:9 ───
2019-12-13T01:44:49.9929877Z      │
2019-12-13T01:44:49.9930145Z  134 │ calling [`check_type_tests`]. This checks constraints like `T: 'a`. Second, we
2019-12-13T01:44:49.9930793Z      │
2019-12-13T01:44:49.9930847Z 
2019-12-13T01:44:49.9931742Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9931858Z 
2019-12-13T01:44:49.9931858Z 
2019-12-13T01:44:49.9932123Z      ┌── borrow_check/region_inference.md:136:1 ───
2019-12-13T01:44:49.9932352Z      │
2019-12-13T01:44:49.9932645Z  136 │ [`check_universal_regions`]. This checks that for each region `'a` if `'a`
2019-12-13T01:44:49.9933140Z      │
2019-12-13T01:44:49.9933195Z 
2019-12-13T01:44:49.9933721Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9933843Z 
---
2019-12-13T01:44:49.9936065Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9936166Z 
2019-12-13T01:44:49.9936397Z      ┌── borrow_check/region_inference.md:208:3 ───
2019-12-13T01:44:49.9936607Z      │
2019-12-13T01:44:49.9936855Z  208 │ - [`constraints`]: contains all the outlives constraints.
2019-12-13T01:44:49.9937318Z      │
2019-12-13T01:44:49.9937354Z 
2019-12-13T01:44:49.9937719Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9937829Z 
2019-12-13T01:44:49.9937829Z 
2019-12-13T01:44:49.9938063Z      ┌── borrow_check/region_inference.md:209:3 ───
2019-12-13T01:44:49.9938275Z      │
2019-12-13T01:44:49.9938522Z  209 │ - [`liveness_constraints`]: contains all the liveness constraints.
2019-12-13T01:44:49.9938985Z      │
2019-12-13T01:44:49.9939020Z 
2019-12-13T01:44:49.9939383Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9939483Z 
2019-12-13T01:44:49.9939483Z 
2019-12-13T01:44:49.9939724Z      ┌── borrow_check/region_inference.md:210:3 ───
2019-12-13T01:44:49.9940113Z      │
2019-12-13T01:44:49.9940353Z  210 │ - [`universal_regions`]: contains the `UniversalRegions` returned by
2019-12-13T01:44:49.9940802Z      │
2019-12-13T01:44:49.9940836Z 
2019-12-13T01:44:49.9941589Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9941953Z 
2019-12-13T01:44:49.9941953Z 
2019-12-13T01:44:49.9942255Z      ┌── borrow_check/region_inference.md:212:3 ───
2019-12-13T01:44:49.9942493Z      │
2019-12-13T01:44:49.9942780Z  212 │ - [`universal_region_relations`]: contains relations known to be true about
2019-12-13T01:44:49.9943294Z      │
2019-12-13T01:44:49.9943333Z 
2019-12-13T01:44:49.9943752Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9943863Z 
2019-12-13T01:44:49.9943863Z 
2019-12-13T01:44:49.9944121Z      ┌── borrow_check/region_inference.md:217:3 ───
2019-12-13T01:44:49.9944352Z      │
2019-12-13T01:44:49.9944654Z  217 │ - [`type_tests`]: contains some constraints on types that we must check after
2019-12-13T01:44:49.9945440Z      │
2019-12-13T01:44:49.9945475Z 
2019-12-13T01:44:49.9945861Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9945946Z 
2019-12-13T01:44:49.9945946Z 
2019-12-13T01:44:49.9946178Z      ┌── borrow_check/region_inference.md:219:3 ───
2019-12-13T01:44:49.9946389Z      │
2019-12-13T01:44:49.9946661Z  219 │ - [`closure_bounds_mapping`]: used for propagating region constraints from
2019-12-13T01:44:49.9947218Z      │
2019-12-13T01:44:49.9947255Z 
2019-12-13T01:44:49.9947793Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9947875Z 
2019-12-13T01:44:49.9947875Z 
2019-12-13T01:44:49.9948345Z      ┌── borrow_check/region_inference.md:232:40 ───
2019-12-13T01:44:49.9948546Z      │
2019-12-13T01:44:49.9948831Z  232 │ inference. This is done by calling the [`solve`] method on the context. This
2019-12-13T01:44:49.9949347Z      │
2019-12-13T01:44:49.9949382Z 
2019-12-13T01:44:49.9949775Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9949861Z 
2019-12-13T01:44:49.9949861Z 
2019-12-13T01:44:49.9950136Z      ┌── borrow_check/region_inference.md:233:18 ───
2019-12-13T01:44:49.9950339Z      │
2019-12-13T01:44:49.9950620Z  233 │ is where we call [`propagate_constraints`] and then check the resulting type
2019-12-13T01:44:49.9951108Z      │
2019-12-13T01:44:49.9951553Z 
2019-12-13T01:44:49.9952209Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9952301Z 
2019-12-13T01:44:49.9952301Z 
2019-12-13T01:44:49.9952605Z    ┌── borrow_check/region_inference/constraint_propagation.md:4:22 ───
2019-12-13T01:44:49.9952825Z    │
2019-12-13T01:44:49.9953121Z  4 │ which is done in the [`propagate_constraints`] function.  There are
2019-12-13T01:44:49.9953642Z    │
2019-12-13T01:44:49.9953682Z 
2019-12-13T01:44:49.9953682Z 
2019-12-13T01:44:49.9954116Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/values/struct.LivenessValues.html"
2019-12-13T01:44:49.9954552Z     ┌── borrow_check/region_inference/constraint_propagation.md:68:6 ───
2019-12-13T01:44:49.9954791Z     │
2019-12-13T01:44:49.9954791Z     │
2019-12-13T01:44:49.9955250Z  68 │ type [`LivenessValues`]). This way we only need a single bit for each
2019-12-13T01:44:49.9955717Z     │
2019-12-13T01:44:49.9955752Z 
2019-12-13T01:44:49.9955752Z 
2019-12-13T01:44:49.9956132Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/constraints/struct.OutlivesConstraintSet.html"
2019-12-13T01:44:49.9956488Z      ┌── borrow_check/region_inference/constraint_propagation.md:103:1 ───
2019-12-13T01:44:49.9956686Z      │
2019-12-13T01:44:49.9956686Z      │
2019-12-13T01:44:49.9956967Z  103 │ [`ConstraintSet`]. The constraint set is basically just a list of `'a:
2019-12-13T01:44:49.9957413Z      │
2019-12-13T01:44:49.9957448Z 
2019-12-13T01:44:49.9957448Z 
2019-12-13T01:44:49.9957827Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/constraints/struct.OutlivesConstraintSet.html"
2019-12-13T01:44:49.9958324Z      ┌── borrow_check/region_inference/constraint_propagation.md:109:1 ───
2019-12-13T01:44:49.9958522Z      │
2019-12-13T01:44:49.9958522Z      │
2019-12-13T01:44:49.9958792Z  109 │ [converted into the form of a graph][graph-fn], where the nodes of the
2019-12-13T01:44:49.9959237Z      │
2019-12-13T01:44:49.9959273Z 
2019-12-13T01:44:49.9959654Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9959738Z 
2019-12-13T01:44:49.9959738Z 
2019-12-13T01:44:49.9960351Z      ┌── borrow_check/region_inference/constraint_propagation.md:112:1 ───
2019-12-13T01:44:49.9960584Z      │
2019-12-13T01:44:49.9960864Z  112 │ [`RegionInferenceContext::new`] function that creates the inference
2019-12-13T01:44:49.9970989Z      │
2019-12-13T01:44:49.9971052Z 
2019-12-13T01:44:49.9972105Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9972207Z 
2019-12-13T01:44:49.9972207Z 
2019-12-13T01:44:49.9972530Z      ┌── borrow_check/region_inference/constraint_propagation.md:134:51 ───
2019-12-13T01:44:49.9972753Z      │
2019-12-13T01:44:49.9973061Z  134 │ the constraint graph. The result is stored in the [`constraint_sccs`]
2019-12-13T01:44:49.9973639Z      │
2019-12-13T01:44:49.9973693Z 
2019-12-13T01:44:49.9974124Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9974216Z 
2019-12-13T01:44:49.9974216Z 
2019-12-13T01:44:49.9974519Z      ┌── borrow_check/region_inference/constraint_propagation.md:145:1 ───
2019-12-13T01:44:49.9974769Z      │
2019-12-13T01:44:49.9975199Z  145 │ [`scc_values`] field stores the values of each SCC. To get the value
2019-12-13T01:44:49.9975662Z      │
2019-12-13T01:44:49.9975714Z 
2019-12-13T01:44:49.9976094Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9976196Z 
2019-12-13T01:44:49.9976196Z 
2019-12-13T01:44:49.9976465Z      ┌── borrow_check/region_inference/constraint_propagation.md:187:48 ───
2019-12-13T01:44:49.9976685Z      │
2019-12-13T01:44:49.9976968Z  187 │ In the region inferencer, this step is done in [`RegionInferenceContext::new`].
2019-12-13T01:44:49.9977499Z      │
2019-12-13T01:44:49.9977551Z 
2019-12-13T01:44:49.9977927Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9978043Z 
2019-12-13T01:44:49.9978043Z 
2019-12-13T01:44:49.9978314Z      ┌── borrow_check/region_inference/constraint_propagation.md:205:38 ───
2019-12-13T01:44:49.9978537Z      │
2019-12-13T01:44:49.9978793Z  205 │ In the code, this work starts in the [`propagate_constraints`]
2019-12-13T01:44:49.9979299Z      │
2019-12-13T01:44:49.9979351Z 
2019-12-13T01:44:49.9979739Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9979843Z 
2019-12-13T01:44:49.9979843Z 
2019-12-13T01:44:49.9980110Z      ┌── borrow_check/region_inference/constraint_propagation.md:216:10 ───
2019-12-13T01:44:49.9980332Z      │
2019-12-13T01:44:49.9980562Z  216 │ added in [`RegionInferenceContext::new`].
2019-12-13T01:44:49.9981556Z      │          ^ Server responded with 404 Not Found
2019-12-13T01:44:49.9981781Z      │
2019-12-13T01:44:49.9981838Z 
2019-12-13T01:44:49.9982249Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/universal_regions/struct.UniversalRegions.html"
2019-12-13T01:44:49.9982692Z     ┌── borrow_check/region_inference/lifetime_parameters.md:25:13 ───
2019-12-13T01:44:49.9982956Z     │
2019-12-13T01:44:49.9982956Z     │
2019-12-13T01:44:49.9983249Z  25 │ construct a [`UniversalRegions`] struct. This struct tracks the
2019-12-13T01:44:49.9984001Z     │
2019-12-13T01:44:49.9984045Z 
2019-12-13T01:44:49.9984045Z 
2019-12-13T01:44:49.9984511Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/type_check/free_region_relations/struct.UniversalRegionRelations.html"
2019-12-13T01:44:49.9985142Z     ┌── borrow_check/region_inference/lifetime_parameters.md:27:10 ───
2019-12-13T01:44:49.9985361Z     │
2019-12-13T01:44:49.9985361Z     │
2019-12-13T01:44:49.9985635Z  27 │ create a [`UniversalRegionRelations`] struct, which tracks their
2019-12-13T01:44:49.9986093Z     │
2019-12-13T01:44:49.9986128Z 
2019-12-13T01:44:49.9986128Z 
2019-12-13T01:44:49.9986535Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/type_check/free_region_relations/struct.UniversalRegionRelations.html"
2019-12-13T01:44:49.9986912Z     ┌── borrow_check/region_inference/lifetime_parameters.md:29:5 ───
2019-12-13T01:44:49.9987114Z     │
2019-12-13T01:44:49.9987114Z     │
2019-12-13T01:44:49.9987380Z  29 │ the [`UniversalRegionRelations`] struct would track that `'a: 'b` is
2019-12-13T01:44:49.9987830Z     │
2019-12-13T01:44:49.9987877Z 
2019-12-13T01:44:49.9987877Z 
2019-12-13T01:44:49.9988282Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/type_check/free_region_relations/struct.UniversalRegionRelations.html"
2019-12-13T01:44:49.9988645Z     ┌── borrow_check/region_inference/lifetime_parameters.md:30:47 ───
2019-12-13T01:44:49.9988842Z     │
2019-12-13T01:44:49.9988842Z     │
2019-12-13T01:44:49.9989110Z  30 │ known to hold (which could be tested with the [`outlives`] function.
2019-12-13T01:44:49.9989612Z     │
2019-12-13T01:44:49.9989658Z 
2019-12-13T01:44:49.9990045Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/universal_regions/enum.RegionClassification.html"
2019-12-13T01:44:49.9990134Z 
---
2019-12-13T01:44:49.9992920Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9993014Z 
2019-12-13T01:44:49.9993317Z     ┌── borrow_check/region_inference/lifetime_parameters.md:87:1 ───
2019-12-13T01:44:49.9993550Z     │
2019-12-13T01:44:49.9993805Z  87 │ [`init_free_and_bound_regions`].
2019-12-13T01:44:49.9994287Z     │
2019-12-13T01:44:49.9994325Z 
2019-12-13T01:44:49.9995057Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/region_infer/struct.RegionInferenceContext.html"
2019-12-13T01:44:49.9995257Z 
2019-12-13T01:44:49.9995257Z 
2019-12-13T01:44:49.9995565Z      ┌── borrow_check/region_inference/lifetime_parameters.md:121:1 ───
2019-12-13T01:44:49.9995764Z      │
2019-12-13T01:44:49.9996210Z  121 │ [`check_universal_regions`] function, which simply iterates over all
2019-12-13T01:44:49.9996828Z      │
2019-12-13T01:44:49.9996862Z 
2019-12-13T01:44:49.9996862Z 
2019-12-13T01:44:49.9997346Z error: The server responded with 404 Not Found for "https://doc.rust-lang.org/nightly/nightly-rustc/rustc_mir/borrow_check/nll/type_check/free_region_relations/struct.UniversalRegionRelations.html"
2019-12-13T01:44:49.9997747Z      ┌── borrow_check/region_inference/lifetime_parameters.md:123:10 ───
2019-12-13T01:44:49.9997963Z      │
2019-12-13T01:44:49.9997963Z      │
2019-12-13T01:44:49.9998186Z  123 │ declared [`UniversalRegionRelations`].
2019-12-13T01:44:49.9998653Z      │
2019-12-13T01:44:49.9998687Z 
2019-12-13T01:44:49.9998768Z Error: One or more incorrect links
2019-12-13T01:44:49.9998810Z 
---
2019-12-13T01:58:40.6144711Z normalized stderr:
2019-12-13T01:58:40.6145458Z error[E0658]: The `!` type is experimental
2019-12-13T01:58:40.6146313Z   --> $DIR/infallible_destructuring_match.rs:57:30
2019-12-13T01:58:40.6146738Z    |
2019-12-13T01:58:40.6146841Z LL |     let wrapper: Result<i32, !> = Ok(23);
2019-12-13T01:58:40.6147121Z    |
2019-12-13T01:58:40.6148242Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T01:58:40.6148242Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T01:58:40.6180807Z    = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T01:58:40.6181617Z error: aborting due to previous error
2019-12-13T01:58:40.6208527Z 
2019-12-13T01:58:40.6242341Z For more information about this error, try `rustc --explain E0658`.
2019-12-13T01:58:40.6244503Z 
2019-12-13T01:58:40.6244503Z 
2019-12-13T01:58:40.6244633Z 
2019-12-13T01:58:40.6244722Z expected stderr:
2019-12-13T01:58:40.6244817Z error: you seem to be trying to use match to destructure a single infallible pattern. Consider using `let`
2019-12-13T01:58:40.6245271Z   --> $DIR/infallible_destructuring_match.rs:18:5
2019-12-13T01:58:40.6245353Z    |
2019-12-13T01:58:40.6245434Z LL | /     let data = match wrapper {
2019-12-13T01:58:40.6245744Z LL | |         SingleVariantEnum::Variant(i) => i,
2019-12-13T01:58:40.6246009Z LL | |     };
2019-12-13T01:58:40.6246101Z    | |______^ help: try this: `let SingleVariantEnum::Variant(data) = wrapper;`
2019-12-13T01:58:40.6246667Z    = note: `-D clippy::infallible-destructuring-match` implied by `-D warnings`
2019-12-13T01:58:40.6246720Z 
2019-12-13T01:58:40.6246823Z error: you seem to be trying to use match to destructure a single infallible pattern. Consider using `let`
2019-12-13T01:58:40.6247078Z   --> $DIR/infallible_destructuring_match.rs:39:5
2019-12-13T01:58:40.6247078Z   --> $DIR/infallible_destructuring_match.rs:39:5
2019-12-13T01:58:40.6247163Z    |
2019-12-13T01:58:40.6247216Z LL | /     let data = match wrapper {
2019-12-13T01:58:40.6247296Z LL | |         TupleStruct(i) => i,
2019-12-13T01:58:40.6247356Z LL | |     };
2019-12-13T01:58:40.6247440Z    | |______^ help: try this: `let TupleStruct(data) = wrapper;`
2019-12-13T01:58:40.6247580Z error: you seem to be trying to use match to destructure a single infallible pattern. Consider using `let`
2019-12-13T01:58:40.6247862Z   --> $DIR/infallible_destructuring_match.rs:60:5
2019-12-13T01:58:40.6247928Z    |
2019-12-13T01:58:40.6247997Z LL | /     let data = match wrapper {
2019-12-13T01:58:40.6247997Z LL | /     let data = match wrapper {
2019-12-13T01:58:40.6248060Z LL | |         Ok(i) => i,
2019-12-13T01:58:40.6248136Z LL | |     };
2019-12-13T01:58:40.6248200Z    | |______^ help: try this: `let Ok(data) = wrapper;`
2019-12-13T01:58:40.6248319Z error: aborting due to 3 previous errors
2019-12-13T01:58:40.6248358Z 
2019-12-13T01:58:40.6248406Z 
2019-12-13T01:58:40.6248437Z 
2019-12-13T01:58:40.6248437Z 
2019-12-13T01:58:40.6248504Z diff of stderr:
2019-12-13T01:58:40.6248716Z 
2019-12-13T01:58:40.6249024Z -error: you seem to be trying to use match to destructure a single infallible pattern. Consider using `let`
2019-12-13T01:58:40.6249302Z -  --> $DIR/infallible_destructuring_match.rs:18:5
2019-12-13T01:58:40.6249574Z +error[E0658]: The `!` type is experimental
2019-12-13T01:58:40.6249822Z +  --> $DIR/infallible_destructuring_match.rs:57:30
2019-12-13T01:58:40.6249917Z     |
2019-12-13T01:58:40.6250135Z -LL | /     let data = match wrapper {
2019-12-13T01:58:40.6250400Z -LL | |         SingleVariantEnum::Variant(i) => i,
2019-12-13T01:58:40.6251245Z -LL | |     };
2019-12-13T01:58:40.6257875Z -   | |______^ help: try this: `let SingleVariantEnum::Variant(data) = wrapper;`
2019-12-13T01:58:40.6258012Z +LL |     let wrapper: Result<i32, !> = Ok(23);
2019-12-13T01:58:40.6258182Z     |
2019-12-13T01:58:40.6258481Z -   = note: `-D clippy::infallible-destructuring-match` implied by `-D warnings`
2019-12-13T01:58:40.6258770Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T01:58:40.6258770Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T01:58:40.6258885Z +   = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T01:58:40.6259269Z -error: you seem to be trying to use match to destructure a single infallible pattern. Consider using `let`
2019-12-13T01:58:40.6259552Z -  --> $DIR/infallible_destructuring_match.rs:39:5
2019-12-13T01:58:40.6259752Z -   |
2019-12-13T01:58:40.6259983Z -LL | /     let data = match wrapper {
2019-12-13T01:58:40.6259983Z -LL | /     let data = match wrapper {
2019-12-13T01:58:40.6260363Z -LL | |         TupleStruct(i) => i,
2019-12-13T01:58:40.6260570Z -LL | |     };
2019-12-13T01:58:40.6261268Z -   | |______^ help: try this: `let TupleStruct(data) = wrapper;`
2019-12-13T01:58:40.6261616Z  
2019-12-13T01:58:40.6261991Z -error: you seem to be trying to use match to destructure a single infallible pattern. Consider using `let`
2019-12-13T01:58:40.6262296Z -  --> $DIR/infallible_destructuring_match.rs:60:5
2019-12-13T01:58:40.6262509Z -   |
2019-12-13T01:58:40.6262509Z -   |
2019-12-13T01:58:40.6262757Z -LL | /     let data = match wrapper {
2019-12-13T01:58:40.6262989Z -LL | |         Ok(i) => i,
2019-12-13T01:58:40.6263223Z -LL | |     };
2019-12-13T01:58:40.6263487Z -   | |______^ help: try this: `let Ok(data) = wrapper;`
2019-12-13T01:58:40.6264044Z -error: aborting due to 3 previous errors
2019-12-13T01:58:40.6264464Z -
2019-12-13T01:58:40.6264718Z +For more information about this error, try `rustc --explain E0658`.
2019-12-13T01:58:40.6264791Z  
---
2019-12-13T01:58:40.6265730Z #![feature(exhaustive_patterns)]
2019-12-13T01:58:40.6265819Z #![allow(dead_code, unreachable_code, unused_variables)]
2019-12-13T01:58:40.6265902Z #![allow(clippy::let_and_return)]
2019-12-13T01:58:40.6265943Z 
2019-12-13T01:58:40.6265998Z enum SingleVariantEnum {
2019-12-13T01:58:40.6266074Z     Variant(i32),
2019-12-13T01:58:40.6266186Z 
2019-12-13T01:58:40.6266241Z struct TupleStruct(i32);
2019-12-13T01:58:40.6266297Z 
2019-12-13T01:58:40.6266350Z enum EmptyEnum {}
2019-12-13T01:58:40.6266350Z enum EmptyEnum {}
2019-12-13T01:58:40.6266385Z 
2019-12-13T01:58:40.6266458Z fn infallible_destructuring_match_enum() {
2019-12-13T01:58:40.6266545Z     let wrapper = SingleVariantEnum::Variant(0);
2019-12-13T01:58:40.6266649Z     // This should lint!
2019-12-13T01:58:40.6266726Z     let data = match wrapper {
2019-12-13T01:58:40.6266726Z     let data = match wrapper {
2019-12-13T01:58:40.6266806Z         SingleVariantEnum::Variant(i) => i,
2019-12-13T01:58:40.6266901Z 
2019-12-13T01:58:40.6267120Z     // This shouldn't!
2019-12-13T01:58:40.6267185Z     let data = match wrapper {
2019-12-13T01:58:40.6267185Z     let data = match wrapper {
2019-12-13T01:58:40.6267425Z         SingleVariantEnum::Variant(_) => -1,
2019-12-13T01:58:40.6267538Z 
2019-12-13T01:58:40.6267593Z     // Neither should this!
2019-12-13T01:58:40.6267671Z     let data = match wrapper {
2019-12-13T01:58:40.6267671Z     let data = match wrapper {
2019-12-13T01:58:40.6267899Z         SingleVariantEnum::Variant(i) => -1,
2019-12-13T01:58:40.6268013Z 
2019-12-13T01:58:40.6268013Z 
2019-12-13T01:58:40.6268091Z     let SingleVariantEnum::Variant(data) = wrapper;
2019-12-13T01:58:40.6268202Z 
2019-12-13T01:58:40.6268260Z fn infallible_destructuring_match_struct() {
2019-12-13T01:58:40.6268341Z     let wrapper = TupleStruct(0);
2019-12-13T01:58:40.6268387Z 
2019-12-13T01:58:40.6268387Z 
2019-12-13T01:58:40.6268456Z     // This should lint!
2019-12-13T01:58:40.6268516Z     let data = match wrapper {
2019-12-13T01:58:40.6268594Z         TupleStruct(i) => i,
2019-12-13T01:58:40.6268699Z 
2019-12-13T01:58:40.6268900Z     // This shouldn't!
2019-12-13T01:58:40.6268980Z     let data = match wrapper {
2019-12-13T01:58:40.6269186Z         TupleStruct(_) => -1,
2019-12-13T01:58:40.6269186Z         TupleStruct(_) => -1,
2019-12-13T01:58:40.6269266Z     };
2019-12-13T01:58:40.6269298Z 
2019-12-13T01:58:40.6269367Z     // Neither should this!
2019-12-13T01:58:40.6269428Z     let data = match wrapper {
2019-12-13T01:58:40.6269654Z         TupleStruct(i) => -1,
2019-12-13T01:58:40.6269763Z 
2019-12-13T01:58:40.6269763Z 
2019-12-13T01:58:40.6269819Z     let TupleStruct(data) = wrapper;
2019-12-13T01:58:40.6269930Z 
2019-12-13T01:58:40.6269999Z fn never_enum() {
2019-12-13T01:58:40.6269999Z fn never_enum() {
2019-12-13T01:58:40.6270060Z     let wrapper: Result<i32, !> = Ok(23);
2019-12-13T01:58:40.6270255Z     // This should lint!
2019-12-13T01:58:40.6270316Z     let data = match wrapper {
2019-12-13T01:58:40.6270316Z     let data = match wrapper {
2019-12-13T01:58:40.6270383Z         Ok(i) => i,
2019-12-13T01:58:40.6270480Z 
2019-12-13T01:58:40.6271579Z     // This shouldn't!
2019-12-13T01:58:40.6271671Z     let data = match wrapper {
2019-12-13T01:58:40.6271896Z         Ok(_) => -1,
2019-12-13T01:58:40.6271896Z         Ok(_) => -1,
2019-12-13T01:58:40.6271975Z     };
2019-12-13T01:58:40.6272011Z 
2019-12-13T01:58:40.6272082Z     // Neither should this!
2019-12-13T01:58:40.6272152Z     let data = match wrapper {
2019-12-13T01:58:40.6272386Z         Ok(i) => -1,
2019-12-13T01:58:40.6272608Z 
2019-12-13T01:58:40.6272608Z 
2019-12-13T01:58:40.6272678Z     let Ok(data) = wrapper;
2019-12-13T01:58:40.6272793Z 
2019-12-13T01:58:40.6272866Z impl EmptyEnum {
2019-12-13T01:58:40.6272866Z impl EmptyEnum {
2019-12-13T01:58:40.6273132Z     fn match_on(&self) -> ! {
2019-12-13T01:58:40.6273433Z         // The lint shouldn't pick this up, as `let` won't work here!
2019-12-13T01:58:40.6273529Z         let data = match *self {};
2019-12-13T01:58:40.6273678Z     }
2019-12-13T01:58:40.6273750Z }
2019-12-13T01:58:40.6273786Z 
2019-12-13T01:58:40.6273860Z fn main() {}
---
2019-12-13T01:58:40.6274492Z #![feature(exhaustive_patterns)]
2019-12-13T01:58:40.6274756Z #![allow(dead_code, unreachable_code, unused_variables)]
2019-12-13T01:58:40.6274994Z #![allow(clippy::let_and_return)]
2019-12-13T01:58:40.6275042Z 
2019-12-13T01:58:40.6275107Z enum SingleVariantEnum {
2019-12-13T01:58:40.6275181Z     Variant(i32),
2019-12-13T01:58:40.6275272Z 
2019-12-13T01:58:40.6275338Z struct TupleStruct(i32);
2019-12-13T01:58:40.6275380Z 
2019-12-13T01:58:40.6275446Z enum EmptyEnum {}
2019-12-13T01:58:40.6275446Z enum EmptyEnum {}
2019-12-13T01:58:40.6275483Z 
2019-12-13T01:58:40.6275551Z fn infallible_destructuring_match_enum() {
2019-12-13T01:58:40.6275632Z     let wrapper = SingleVariantEnum::Variant(0);
2019-12-13T01:58:40.6275741Z     // This should lint!
2019-12-13T01:58:40.6275741Z     // This should lint!
2019-12-13T01:58:40.6275822Z     let SingleVariantEnum::Variant(data) = wrapper;
2019-12-13T01:58:40.6276078Z     // This shouldn't!
2019-12-13T01:58:40.6276159Z     let data = match wrapper {
2019-12-13T01:58:40.6276159Z     let data = match wrapper {
2019-12-13T01:58:40.6276399Z         SingleVariantEnum::Variant(_) => -1,
2019-12-13T01:58:40.6276502Z 
2019-12-13T01:58:40.6276571Z     // Neither should this!
2019-12-13T01:58:40.6276645Z     let data = match wrapper {
2019-12-13T01:58:40.6276645Z     let data = match wrapper {
2019-12-13T01:58:40.6276882Z         SingleVariantEnum::Variant(i) => -1,
2019-12-13T01:58:40.6276998Z 
2019-12-13T01:58:40.6276998Z 
2019-12-13T01:58:40.6277060Z     let SingleVariantEnum::Variant(data) = wrapper;
2019-12-13T01:58:40.6277169Z 
2019-12-13T01:58:40.6277239Z fn infallible_destructuring_match_struct() {
2019-12-13T01:58:40.6277313Z     let wrapper = TupleStruct(0);
2019-12-13T01:58:40.6277365Z 
2019-12-13T01:58:40.6277365Z 
2019-12-13T01:58:40.6277420Z     // This should lint!
2019-12-13T01:58:40.6277499Z     let TupleStruct(data) = wrapper;
2019-12-13T01:58:40.6277919Z     // This shouldn't!
2019-12-13T01:58:40.6277983Z     let data = match wrapper {
2019-12-13T01:58:40.6278198Z         TupleStruct(_) => -1,
2019-12-13T01:58:40.6278261Z     };
2019-12-13T01:58:40.6278261Z     };
2019-12-13T01:58:40.6278304Z 
2019-12-13T01:58:40.6278358Z     // Neither should this!
2019-12-13T01:58:40.6278432Z     let data = match wrapper {
2019-12-13T01:58:40.6278634Z         TupleStruct(i) => -1,
2019-12-13T01:58:40.6278749Z 
2019-12-13T01:58:40.6278749Z 
2019-12-13T01:58:40.6278814Z     let TupleStruct(data) = wrapper;
2019-12-13T01:58:40.6278907Z 
2019-12-13T01:58:40.6278972Z fn never_enum() {
2019-12-13T01:58:40.6278972Z fn never_enum() {
2019-12-13T01:58:40.6279045Z     let wrapper: Result<i32, !> = Ok(23);
2019-12-13T01:58:40.6279142Z     // This should lint!
2019-12-13T01:58:40.6279142Z     // This should lint!
2019-12-13T01:58:40.6279301Z     let Ok(data) = wrapper;
2019-12-13T01:58:40.6279566Z     // This shouldn't!
2019-12-13T01:58:40.6279807Z     let data = match wrapper {
2019-12-13T01:58:40.6280015Z         Ok(_) => -1,
2019-12-13T01:58:40.6280076Z     };
2019-12-13T01:58:40.6280076Z     };
2019-12-13T01:58:40.6280118Z 
2019-12-13T01:58:40.6280176Z     // Neither should this!
2019-12-13T01:58:40.6280247Z     let data = match wrapper {
2019-12-13T01:58:40.6280615Z         Ok(i) => -1,
2019-12-13T01:58:40.6280924Z 
2019-12-13T01:58:40.6280924Z 
2019-12-13T01:58:40.6281000Z     let Ok(data) = wrapper;
2019-12-13T01:58:40.6281115Z 
2019-12-13T01:58:40.6281538Z impl EmptyEnum {
2019-12-13T01:58:40.6281538Z impl EmptyEnum {
2019-12-13T01:58:40.6281888Z     fn match_on(&self) -> ! {
2019-12-13T01:58:40.6282178Z         // The lint shouldn't pick this up, as `let` won't work here!
2019-12-13T01:58:40.6282279Z         let data = match *self {};
2019-12-13T01:58:40.6282425Z     }
2019-12-13T01:58:40.6282497Z }
2019-12-13T01:58:40.6282545Z 
2019-12-13T01:58:40.6282607Z fn main() {}
---
2019-12-13T01:58:40.6283116Z  #![feature(exhaustive_patterns)]
2019-12-13T01:58:40.6283199Z  #![allow(dead_code, unreachable_code, unused_variables)]
2019-12-13T01:58:40.6283293Z  #![allow(clippy::let_and_return)]
2019-12-13T01:58:40.6283361Z  
2019-12-13T01:58:40.6283439Z  enum SingleVariantEnum {
2019-12-13T01:58:40.6283521Z      Variant(i32),
2019-12-13T01:58:40.6283669Z  
2019-12-13T01:58:40.6283732Z  struct TupleStruct(i32);
2019-12-13T01:58:40.6283808Z  
2019-12-13T01:58:40.6283869Z  enum EmptyEnum {}
2019-12-13T01:58:40.6283869Z  enum EmptyEnum {}
2019-12-13T01:58:40.6283949Z  
2019-12-13T01:58:40.6284014Z  fn infallible_destructuring_match_enum() {
2019-12-13T01:58:40.6284271Z      let wrapper = SingleVariantEnum::Variant(0);
2019-12-13T01:58:40.6284577Z      // This should lint!
2019-12-13T01:58:40.6284577Z      // This should lint!
2019-12-13T01:58:40.6285006Z -    let SingleVariantEnum::Variant(data) = wrapper;
2019-12-13T01:58:40.6285078Z +    let data = match wrapper {
2019-12-13T01:58:40.6285159Z +        SingleVariantEnum::Variant(i) => i,
2019-12-13T01:58:40.6285285Z  
2019-12-13T01:58:40.6285476Z      // This shouldn't!
2019-12-13T01:58:40.6285551Z      let data = match wrapper {
2019-12-13T01:58:40.6285551Z      let data = match wrapper {
2019-12-13T01:58:40.6285771Z          SingleVariantEnum::Variant(_) => -1,
2019-12-13T01:58:40.6285900Z  
2019-12-13T01:58:40.6285967Z      // Neither should this!
2019-12-13T01:58:40.6286051Z      let data = match wrapper {
2019-12-13T01:58:40.6286051Z      let data = match wrapper {
2019-12-13T01:58:40.6286273Z          SingleVariantEnum::Variant(i) => -1,
2019-12-13T01:58:40.6286404Z  
2019-12-13T01:58:40.6286404Z  
2019-12-13T01:58:40.6286474Z      let SingleVariantEnum::Variant(data) = wrapper;
2019-12-13T01:58:40.6286603Z  
2019-12-13T01:58:40.6286669Z  fn infallible_destructuring_match_struct() {
2019-12-13T01:58:40.6286746Z      let wrapper = TupleStruct(0);
2019-12-13T01:58:40.6286806Z  
2019-12-13T01:58:40.6286806Z  
2019-12-13T01:58:40.6286872Z      // This should lint!
2019-12-13T01:58:40.6287101Z -    let TupleStruct(data) = wrapper;
2019-12-13T01:58:40.6287168Z +    let data = match wrapper {
2019-12-13T01:58:40.6287242Z +        TupleStruct(i) => i,
2019-12-13T01:58:40.6287367Z  
2019-12-13T01:58:40.6287555Z      // This shouldn't!
2019-12-13T01:58:40.6287635Z      let data = match wrapper {
2019-12-13T01:58:40.6287840Z          TupleStruct(_) => -1,
2019-12-13T01:58:40.6287840Z          TupleStruct(_) => -1,
2019-12-13T01:58:40.6287924Z      };
2019-12-13T01:58:40.6287976Z  
2019-12-13T01:58:40.6288044Z      // Neither should this!
2019-12-13T01:58:40.6288119Z      let data = match wrapper {
2019-12-13T01:58:40.6288326Z          TupleStruct(i) => -1,
2019-12-13T01:58:40.6288450Z  
2019-12-13T01:58:40.6288450Z  
2019-12-13T01:58:40.6288512Z      let TupleStruct(data) = wrapper;
2019-12-13T01:58:40.6288745Z  
2019-12-13T01:58:40.6288799Z  fn never_enum() {
2019-12-13T01:58:40.6288799Z  fn never_enum() {
2019-12-13T01:58:40.6288874Z      let wrapper: Result<i32, !> = Ok(23);
2019-12-13T01:58:40.6289005Z      // This should lint!
2019-12-13T01:58:40.6289005Z      // This should lint!
2019-12-13T01:58:40.6289256Z -    let Ok(data) = wrapper;
2019-12-13T01:58:40.6289321Z +    let data = match wrapper {
2019-12-13T01:58:40.6289396Z +        Ok(i) => i,
2019-12-13T01:58:40.6289522Z  
2019-12-13T01:58:40.6289714Z      // This shouldn't!
2019-12-13T01:58:40.6289791Z      let data = match wrapper {
2019-12-13T01:58:40.6289985Z          Ok(_) => -1,
2019-12-13T01:58:40.6289985Z          Ok(_) => -1,
2019-12-13T01:58:40.6290133Z      };
2019-12-13T01:58:40.6290191Z  
2019-12-13T01:58:40.6290264Z      // Neither should this!
2019-12-13T01:58:40.6290325Z      let data = match wrapper {
2019-12-13T01:58:40.6291026Z          Ok(i) => -1,
2019-12-13T01:58:40.6291177Z  
2019-12-13T01:58:40.6291177Z  
2019-12-13T01:58:40.6291251Z      let Ok(data) = wrapper;
2019-12-13T01:58:40.6291399Z  
2019-12-13T01:58:40.6291462Z  impl EmptyEnum {
2019-12-13T01:58:40.6291462Z  impl EmptyEnum {
2019-12-13T01:58:40.6291717Z      fn match_on(&self) -> ! {
2019-12-13T01:58:40.6291999Z          // The lint shouldn't pick this up, as `let` won't work here!
2019-12-13T01:58:40.6292103Z          let data = match *self {};
2019-12-13T01:58:40.6292255Z      }
2019-12-13T01:58:40.6292328Z  }
2019-12-13T01:58:40.6292388Z  
2019-12-13T01:58:40.6292459Z  fn main() {}
---
2019-12-13T01:58:40.6297569Z 
2019-12-13T01:58:40.6297782Z ------------------------------------------
2019-12-13T01:58:40.6297863Z stderr:
2019-12-13T01:58:40.6298084Z ------------------------------------------
2019-12-13T01:58:40.6301186Z {"message":"The `!` type is experimental","code":{"code":"E0658","explanation":"An unstable feature was used.\n\nErroneous code example:\n\n```compile_fail,E658\n#[repr(u128)] // error: use of unstable library feature 'repr128'\nenum Foo {\n    Bar(u64),\n}\n```\n\nIf you're using a stable or a beta version of rustc, you won't be able to use\nany unstable features. In order to do so, please switch to a nightly version of\nrustc (by using rustup).\n\nIf you're using a nightly version of rustc, just add the corresponding feature\nto be able to use it:\n\n```\n#![feature(repr128)]\n\n#[repr(u128)] // ok!\nenum Foo {\n    Bar(u64),\n}\n```\n"},"level":"error","spans":[{"file_name":"tests/ui/infallible_destructuring_match.rs","byte_start":1155,"byte_end":1156,"line_start":57,"line_end":57,"column_start":30,"column_end":31,"is_primary":true,"text":[{"text":"    let wrapper: Result<i32, !> = Ok(23);","highlight_start":30,"highlight_end":31}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see https://github.com/rust-lang/rust/issues/35121","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"add `#![feature(never_type)]` to the crate attributes to enable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"error[E0658]: The `!` type is experimental\n  --> tests/ui/infallible_destructuring_match.rs:57:30\n   |\nLL |     let wrapper: Result<i32, !> = Ok(23);\n   |                              ^\n   |\n   = note: for more information, see https://github.com/rust-lang/rust/issues/35121\n   = help: add `#![feature(never_type)]` to the crate attributes to enable\n\n"}
2019-12-13T01:58:40.6302706Z {"message":"For more information about this error, try `rustc --explain E0658`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0658`.\n"}
2019-12-13T01:58:40.6302846Z 
2019-12-13T01:58:40.6303123Z ------------------------------------------
2019-12-13T01:58:40.6303178Z 
---
2019-12-13T01:59:02.8181855Z normalized stderr:
2019-12-13T01:59:02.8182064Z error[E0658]: The `!` type is experimental
2019-12-13T01:59:02.8182851Z   --> $DIR/must_use_candidates.rs:51:31
2019-12-13T01:59:02.8182953Z    |
2019-12-13T01:59:02.8183214Z LL | pub fn quoth_the_raven(_more: !) -> u32 {
2019-12-13T01:59:02.8183437Z    |
2019-12-13T01:59:02.8183738Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T01:59:02.8183738Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T01:59:02.8183864Z    = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T01:59:02.8184025Z error: aborting due to previous error
2019-12-13T01:59:02.8184074Z 
2019-12-13T01:59:02.8184348Z For more information about this error, try `rustc --explain E0658`.
2019-12-13T01:59:02.8184425Z 
2019-12-13T01:59:02.8184425Z 
2019-12-13T01:59:02.8184462Z 
2019-12-13T01:59:02.8184546Z expected stderr:
2019-12-13T01:59:02.8191074Z error: this function could have a `#[must_use]` attribute
2019-12-13T01:59:02.8192005Z   --> $DIR/must_use_candidates.rs:11:1
2019-12-13T01:59:02.8192535Z    |
2019-12-13T01:59:02.8193075Z LL | pub fn pure(i: u8) -> u8 {
2019-12-13T01:59:02.8193470Z    | ^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub fn pure(i: u8) -> u8`
2019-12-13T01:59:02.8193904Z    = note: `-D clippy::must-use-candidate` implied by `-D warnings`
2019-12-13T01:59:02.8193984Z 
2019-12-13T01:59:02.8194059Z error: this method could have a `#[must_use]` attribute
2019-12-13T01:59:02.8194412Z   --> $DIR/must_use_candidates.rs:16:5
2019-12-13T01:59:02.8194412Z   --> $DIR/must_use_candidates.rs:16:5
2019-12-13T01:59:02.8194490Z    |
2019-12-13T01:59:02.8195016Z LL |     pub fn inherent_pure(&self) -> u8 {
2019-12-13T01:59:02.8195359Z    |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub fn inherent_pure(&self) -> u8`
2019-12-13T01:59:02.8195694Z error: this function could have a `#[must_use]` attribute
2019-12-13T01:59:02.8196116Z   --> $DIR/must_use_candidates.rs:47:1
2019-12-13T01:59:02.8196202Z    |
2019-12-13T01:59:02.8196202Z    |
2019-12-13T01:59:02.8196461Z LL | pub fn with_marker(_d: std::marker::PhantomData<&mut u32>) -> bool {
2019-12-13T01:59:02.8196989Z    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub fn with_marker(_d: std::marker::PhantomData<&mut u32>) -> bool`
2019-12-13T01:59:02.8197179Z error: this function could have a `#[must_use]` attribute
2019-12-13T01:59:02.8197441Z   --> $DIR/must_use_candidates.rs:59:1
2019-12-13T01:59:02.8197527Z    |
2019-12-13T01:59:02.8197527Z    |
2019-12-13T01:59:02.8197741Z LL | pub fn rcd(_x: Rc<u32>) -> bool {
2019-12-13T01:59:02.8198077Z    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub fn rcd(_x: Rc<u32>) -> bool`
2019-12-13T01:59:02.8198229Z error: this function could have a `#[must_use]` attribute
2019-12-13T01:59:02.8198458Z   --> $DIR/must_use_candidates.rs:67:1
2019-12-13T01:59:02.8198544Z    |
2019-12-13T01:59:02.8198544Z    |
2019-12-13T01:59:02.8198761Z LL | pub fn arcd(_x: Arc<u32>) -> bool {
2019-12-13T01:59:02.8199095Z    | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub fn arcd(_x: Arc<u32>) -> bool`
2019-12-13T01:59:02.8199240Z error: aborting due to 5 previous errors
2019-12-13T01:59:02.8199294Z 
2019-12-13T01:59:02.8202950Z 
2019-12-13T01:59:02.8204873Z 
2019-12-13T01:59:02.8204873Z 
2019-12-13T01:59:02.8207885Z diff of stderr:
2019-12-13T01:59:02.8235853Z 
2019-12-13T01:59:02.8242484Z -error: this function could have a `#[must_use]` attribute
2019-12-13T01:59:02.8242915Z -  --> $DIR/must_use_candidates.rs:11:1
2019-12-13T01:59:02.8243002Z +error[E0658]: The `!` type is experimental
2019-12-13T01:59:02.8243293Z +  --> $DIR/must_use_candidates.rs:51:31
2019-12-13T01:59:02.8243386Z     |
2019-12-13T01:59:02.8243614Z -LL | pub fn pure(i: u8) -> u8 {
2019-12-13T01:59:02.8243943Z -   | ^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub fn pure(i: u8) -> u8`
2019-12-13T01:59:02.8244216Z +LL | pub fn quoth_the_raven(_more: !) -> u32 {
2019-12-13T01:59:02.8244384Z     |
2019-12-13T01:59:02.8244671Z -   = note: `-D clippy::must-use-candidate` implied by `-D warnings`
2019-12-13T01:59:02.8244988Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T01:59:02.8244988Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T01:59:02.8245118Z +   = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T01:59:02.8245479Z -error: this method could have a `#[must_use]` attribute
2019-12-13T01:59:02.8245743Z -  --> $DIR/must_use_candidates.rs:16:5
2019-12-13T01:59:02.8245961Z -   |
2019-12-13T01:59:02.8245961Z -   |
2019-12-13T01:59:02.8246220Z -LL |     pub fn inherent_pure(&self) -> u8 {
2019-12-13T01:59:02.8246561Z -   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub fn inherent_pure(&self) -> u8`
2019-12-13T01:59:02.8246782Z  
2019-12-13T01:59:02.8247200Z -error: this function could have a `#[must_use]` attribute
2019-12-13T01:59:02.8247455Z -  --> $DIR/must_use_candidates.rs:47:1
2019-12-13T01:59:02.8247651Z -   |
2019-12-13T01:59:02.8247651Z -   |
2019-12-13T01:59:02.8247935Z -LL | pub fn with_marker(_d: std::marker::PhantomData<&mut u32>) -> bool {
2019-12-13T01:59:02.8248357Z -   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub fn with_marker(_d: std::marker::PhantomData<&mut u32>) -> bool`
2019-12-13T01:59:02.8248881Z -error: this function could have a `#[must_use]` attribute
2019-12-13T01:59:02.8249282Z -  --> $DIR/must_use_candidates.rs:59:1
2019-12-13T01:59:02.8249718Z -   |
2019-12-13T01:59:02.8249718Z -   |
2019-12-13T01:59:02.8249932Z -LL | pub fn rcd(_x: Rc<u32>) -> bool {
2019-12-13T01:59:02.8250260Z -   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub fn rcd(_x: Rc<u32>) -> bool`
2019-12-13T01:59:02.8250718Z -error: this function could have a `#[must_use]` attribute
2019-12-13T01:59:02.8250963Z -  --> $DIR/must_use_candidates.rs:67:1
2019-12-13T01:59:02.8251152Z -   |
2019-12-13T01:59:02.8251152Z -   |
2019-12-13T01:59:02.8251384Z -LL | pub fn arcd(_x: Arc<u32>) -> bool {
2019-12-13T01:59:02.8252236Z -   | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: add the attribute: `#[must_use] pub fn arcd(_x: Arc<u32>) -> bool`
2019-12-13T01:59:02.8252769Z -error: aborting due to 5 previous errors
2019-12-13T01:59:02.8252988Z -
2019-12-13T01:59:02.8253273Z +For more information about this error, try `rustc --explain E0658`.
2019-12-13T01:59:02.8253356Z  
---
2019-12-13T01:59:02.8254563Z use std::rc::Rc;
2019-12-13T01:59:02.8254656Z use std::sync::atomic::{AtomicBool, Ordering};
2019-12-13T01:59:02.8254731Z use std::sync::Arc;
2019-12-13T01:59:02.8254798Z 
2019-12-13T01:59:02.8254871Z pub struct MyAtomic(AtomicBool);
2019-12-13T01:59:02.8254962Z pub struct MyPure;
2019-12-13T01:59:02.8255005Z 
2019-12-13T01:59:02.8255247Z pub fn pure(i: u8) -> u8 {
2019-12-13T01:59:02.8255399Z }
2019-12-13T01:59:02.8255436Z 
2019-12-13T01:59:02.8255609Z impl MyPure {
2019-12-13T01:59:02.8255609Z impl MyPure {
2019-12-13T01:59:02.8255854Z     pub fn inherent_pure(&self) -> u8 {
2019-12-13T01:59:02.8256008Z     }
2019-12-13T01:59:02.8256086Z }
2019-12-13T01:59:02.8256122Z 
2019-12-13T01:59:02.8256122Z 
2019-12-13T01:59:02.8256203Z pub trait MyPureTrait {
2019-12-13T01:59:02.8256450Z     fn trait_pure(&self, i: u32) -> u32 {
2019-12-13T01:59:02.8256545Z         self.trait_impl_pure(i) + 1
2019-12-13T01:59:02.8256669Z 
2019-12-13T01:59:02.8256669Z 
2019-12-13T01:59:02.8256960Z     fn trait_impl_pure(&self, i: u32) -> u32;
2019-12-13T01:59:02.8257090Z 
2019-12-13T01:59:02.8257090Z 
2019-12-13T01:59:02.8257172Z impl MyPureTrait for MyPure {
2019-12-13T01:59:02.8257595Z     fn trait_impl_pure(&self, i: u32) -> u32 {
2019-12-13T01:59:02.8257907Z     }
2019-12-13T01:59:02.8257979Z }
2019-12-13T01:59:02.8258013Z 
2019-12-13T01:59:02.8258088Z pub fn without_result() {
2019-12-13T01:59:02.8258088Z pub fn without_result() {
2019-12-13T01:59:02.8258152Z     // OK
2019-12-13T01:59:02.8258226Z }
2019-12-13T01:59:02.8258260Z 
2019-12-13T01:59:02.8258487Z pub fn impure_primitive(i: &mut u8) -> u8 {
2019-12-13T01:59:02.8258583Z     *i
2019-12-13T01:59:02.8258691Z 
2019-12-13T01:59:02.8258691Z 
2019-12-13T01:59:02.8258931Z pub fn with_callback<F: Fn(u32) -> bool>(f: &F) -> bool {
2019-12-13T01:59:02.8259081Z }
2019-12-13T01:59:02.8259132Z 
2019-12-13T01:59:02.8259132Z 
2019-12-13T01:59:02.8259382Z pub fn with_marker(_d: std::marker::PhantomData<&mut u32>) -> bool {
2019-12-13T01:59:02.8259534Z }
2019-12-13T01:59:02.8259587Z 
2019-12-13T01:59:02.8259587Z 
2019-12-13T01:59:02.8259803Z pub fn quoth_the_raven(_more: !) -> u32 {
2019-12-13T01:59:02.8259954Z }
2019-12-13T01:59:02.8260014Z 
2019-12-13T01:59:02.8260014Z 
2019-12-13T01:59:02.8260229Z pub fn atomics(b: &AtomicBool) -> bool {
2019-12-13T01:59:02.8260317Z     b.load(Ordering::SeqCst)
2019-12-13T01:59:02.8260433Z 
2019-12-13T01:59:02.8260433Z 
2019-12-13T01:59:02.8260643Z pub fn rcd(_x: Rc<u32>) -> bool {
2019-12-13T01:59:02.8260785Z }
2019-12-13T01:59:02.8260916Z 
2019-12-13T01:59:02.8260916Z 
2019-12-13T01:59:02.8261178Z pub fn rcmut(_x: Rc<&mut u32>) -> bool {
2019-12-13T01:59:02.8261495Z }
2019-12-13T01:59:02.8261727Z 
2019-12-13T01:59:02.8261727Z 
2019-12-13T01:59:02.8262009Z pub fn arcd(_x: Arc<u32>) -> bool {
2019-12-13T01:59:02.8262164Z }
2019-12-13T01:59:02.8262200Z 
2019-12-13T01:59:02.8262200Z 
2019-12-13T01:59:02.8262455Z pub fn inner_types(_m: &MyAtomic) -> bool {
2019-12-13T01:59:02.8262609Z }
2019-12-13T01:59:02.8262645Z 
2019-12-13T01:59:02.8262725Z static mut COUNTER: usize = 0;
2019-12-13T01:59:02.8262770Z 
---
2019-12-13T01:59:02.8263729Z     COUNTER
2019-12-13T01:59:02.8263816Z }
2019-12-13T01:59:02.8263853Z 
2019-12-13T01:59:02.8263943Z fn main() {
2019-12-13T01:59:02.8264008Z     assert_eq!(1, pure(1));
2019-12-13T01:59:02.8264127Z 
2019-12-13T01:59:02.8366443Z 
2019-12-13T01:59:02.8366609Z expected fixed:
2019-12-13T01:59:02.8367146Z // run-rustfix
2019-12-13T01:59:02.8367146Z // run-rustfix
2019-12-13T01:59:02.8367223Z #![allow(unused_mut)]
2019-12-13T01:59:02.8367312Z #![warn(clippy::must_use_candidate)]
2019-12-13T01:59:02.8367385Z use std::rc::Rc;
2019-12-13T01:59:02.8367476Z use std::sync::atomic::{AtomicBool, Ordering};
2019-12-13T01:59:02.8367552Z use std::sync::Arc;
2019-12-13T01:59:02.8367613Z 
2019-12-13T01:59:02.8367677Z pub struct MyAtomic(AtomicBool);
2019-12-13T01:59:02.8367787Z pub struct MyPure;
2019-12-13T01:59:02.8367830Z 
2019-12-13T01:59:02.8368107Z #[must_use] pub fn pure(i: u8) -> u8 {
2019-12-13T01:59:02.8368256Z }
2019-12-13T01:59:02.8368293Z 
2019-12-13T01:59:02.8368366Z impl MyPure {
2019-12-13T01:59:02.8368366Z impl MyPure {
2019-12-13T01:59:02.8368628Z     #[must_use] pub fn inherent_pure(&self) -> u8 {
2019-12-13T01:59:02.8368794Z     }
2019-12-13T01:59:02.8368871Z }
2019-12-13T01:59:02.8368907Z 
2019-12-13T01:59:02.8368907Z 
2019-12-13T01:59:02.8368986Z pub trait MyPureTrait {
2019-12-13T01:59:02.8369238Z     fn trait_pure(&self, i: u32) -> u32 {
2019-12-13T01:59:02.8369332Z         self.trait_impl_pure(i) + 1
2019-12-13T01:59:02.8369456Z 
2019-12-13T01:59:02.8369456Z 
2019-12-13T01:59:02.8369864Z     fn trait_impl_pure(&self, i: u32) -> u32;
2019-12-13T01:59:02.8369987Z 
2019-12-13T01:59:02.8369987Z 
2019-12-13T01:59:02.8370063Z impl MyPureTrait for MyPure {
2019-12-13T01:59:02.8370312Z     fn trait_impl_pure(&self, i: u32) -> u32 {
2019-12-13T01:59:02.8370471Z     }
2019-12-13T01:59:02.8370543Z }
2019-12-13T01:59:02.8370578Z 
2019-12-13T01:59:02.8370654Z pub fn without_result() {
2019-12-13T01:59:02.8370654Z pub fn without_result() {
2019-12-13T01:59:02.8370721Z     // OK
2019-12-13T01:59:02.8370796Z }
2019-12-13T01:59:02.8370831Z 
2019-12-13T01:59:02.8371231Z pub fn impure_primitive(i: &mut u8) -> u8 {
2019-12-13T01:59:02.8371696Z     *i
2019-12-13T01:59:02.8371808Z 
2019-12-13T01:59:02.8371808Z 
2019-12-13T01:59:02.8372112Z pub fn with_callback<F: Fn(u32) -> bool>(f: &F) -> bool {
2019-12-13T01:59:02.8372273Z }
2019-12-13T01:59:02.8372327Z 
2019-12-13T01:59:02.8372327Z 
2019-12-13T01:59:02.8372617Z #[must_use] pub fn with_marker(_d: std::marker::PhantomData<&mut u32>) -> bool {
2019-12-13T01:59:02.8372792Z }
2019-12-13T01:59:02.8372843Z 
2019-12-13T01:59:02.8372843Z 
2019-12-13T01:59:02.8373079Z pub fn quoth_the_raven(_more: !) -> u32 {
2019-12-13T01:59:02.8373238Z }
2019-12-13T01:59:02.8373289Z 
2019-12-13T01:59:02.8373289Z 
2019-12-13T01:59:02.8373533Z pub fn atomics(b: &AtomicBool) -> bool {
2019-12-13T01:59:02.8373629Z     b.load(Ordering::SeqCst)
2019-12-13T01:59:02.8373748Z 
2019-12-13T01:59:02.8373748Z 
2019-12-13T01:59:02.8373993Z #[must_use] pub fn rcd(_x: Rc<u32>) -> bool {
2019-12-13T01:59:02.8374146Z }
2019-12-13T01:59:02.8374197Z 
2019-12-13T01:59:02.8374197Z 
2019-12-13T01:59:02.8374698Z pub fn rcmut(_x: Rc<&mut u32>) -> bool {
2019-12-13T01:59:02.8374850Z }
2019-12-13T01:59:02.8374887Z 
2019-12-13T01:59:02.8374887Z 
2019-12-13T01:59:02.8375148Z #[must_use] pub fn arcd(_x: Arc<u32>) -> bool {
2019-12-13T01:59:02.8375301Z }
2019-12-13T01:59:02.8375338Z 
2019-12-13T01:59:02.8375338Z 
2019-12-13T01:59:02.8375592Z pub fn inner_types(_m: &MyAtomic) -> bool {
2019-12-13T01:59:02.8375746Z }
2019-12-13T01:59:02.8375782Z 
2019-12-13T01:59:02.8375862Z static mut COUNTER: usize = 0;
2019-12-13T01:59:02.8375908Z 
---
2019-12-13T01:59:02.8376868Z     COUNTER
2019-12-13T01:59:02.8376947Z }
2019-12-13T01:59:02.8376983Z 
2019-12-13T01:59:02.8377060Z fn main() {
2019-12-13T01:59:02.8377136Z     assert_eq!(1, pure(1));
2019-12-13T01:59:02.8377255Z 
2019-12-13T01:59:02.8377292Z 
2019-12-13T01:59:02.8377370Z diff of fixed:
2019-12-13T01:59:02.8377411Z 
2019-12-13T01:59:02.8377411Z 
2019-12-13T01:59:02.8377646Z  // run-rustfix
2019-12-13T01:59:02.8377716Z  #![allow(unused_mut)]
2019-12-13T01:59:02.8377804Z  #![warn(clippy::must_use_candidate)]
2019-12-13T01:59:02.8378040Z  use std::rc::Rc;
2019-12-13T01:59:02.8378135Z  use std::sync::atomic::{AtomicBool, Ordering};
2019-12-13T01:59:02.8378223Z  use std::sync::Arc;
2019-12-13T01:59:02.8378286Z  
2019-12-13T01:59:02.8378360Z  pub struct MyAtomic(AtomicBool);
2019-12-13T01:59:02.8378439Z  pub struct MyPure;
2019-12-13T01:59:02.8378517Z  
2019-12-13T01:59:02.8378750Z -#[must_use] pub fn pure(i: u8) -> u8 {
2019-12-13T01:59:02.8378992Z +pub fn pure(i: u8) -> u8 {
2019-12-13T01:59:02.8379299Z  }
2019-12-13T01:59:02.8379355Z  
2019-12-13T01:59:02.8379355Z  
2019-12-13T01:59:02.8379430Z  impl MyPure {
2019-12-13T01:59:02.8379876Z -    #[must_use] pub fn inherent_pure(&self) -> u8 {
2019-12-13T01:59:02.8380130Z +    pub fn inherent_pure(&self) -> u8 {
2019-12-13T01:59:02.8380278Z      }
2019-12-13T01:59:02.8380356Z  }
2019-12-13T01:59:02.8380413Z  
2019-12-13T01:59:02.8380413Z  
2019-12-13T01:59:02.8380488Z  pub trait MyPureTrait {
2019-12-13T01:59:02.8380725Z      fn trait_pure(&self, i: u32) -> u32 {
2019-12-13T01:59:02.8380818Z          self.trait_impl_pure(i) + 1
2019-12-13T01:59:02.8380957Z  
2019-12-13T01:59:02.8380957Z  
2019-12-13T01:59:02.8381214Z      fn trait_impl_pure(&self, i: u32) -> u32;
2019-12-13T01:59:02.8381358Z  
2019-12-13T01:59:02.8381358Z  
2019-12-13T01:59:02.8381426Z  impl MyPureTrait for MyPure {
2019-12-13T01:59:02.8382336Z      fn trait_impl_pure(&self, i: u32) -> u32 {
2019-12-13T01:59:02.8382498Z      }
2019-12-13T01:59:02.8382558Z  }
2019-12-13T01:59:02.8382633Z  
2019-12-13T01:59:02.8382695Z  pub fn without_result() {
2019-12-13T01:59:02.8382695Z  pub fn without_result() {
2019-12-13T01:59:02.8382780Z      // OK
2019-12-13T01:59:02.8382852Z  }
2019-12-13T01:59:02.8382927Z  
2019-12-13T01:59:02.8383212Z  pub fn impure_primitive(i: &mut u8) -> u8 {
2019-12-13T01:59:02.8383290Z      *i
2019-12-13T01:59:02.8383423Z  
2019-12-13T01:59:02.8383423Z  
2019-12-13T01:59:02.8383698Z  pub fn with_callback<F: Fn(u32) -> bool>(f: &F) -> bool {
2019-12-13T01:59:02.8383855Z  }
2019-12-13T01:59:02.8383915Z  
2019-12-13T01:59:02.8383915Z  
2019-12-13T01:59:02.8384218Z -#[must_use] pub fn with_marker(_d: std::marker::PhantomData<&mut u32>) -> bool {
2019-12-13T01:59:02.8384522Z +pub fn with_marker(_d: std::marker::PhantomData<&mut u32>) -> bool {
2019-12-13T01:59:02.8384706Z  }
2019-12-13T01:59:02.8384766Z  
2019-12-13T01:59:02.8384766Z  
2019-12-13T01:59:02.8385023Z  pub fn quoth_the_raven(_more: !) -> u32 {
2019-12-13T01:59:02.8385182Z  }
2019-12-13T01:59:02.8385241Z  
2019-12-13T01:59:02.8385241Z  
2019-12-13T01:59:02.8385491Z  pub fn atomics(b: &AtomicBool) -> bool {
2019-12-13T01:59:02.8385689Z      b.load(Ordering::SeqCst)
2019-12-13T01:59:02.8385835Z  
2019-12-13T01:59:02.8385835Z  
2019-12-13T01:59:02.8386126Z -#[must_use] pub fn rcd(_x: Rc<u32>) -> bool {
2019-12-13T01:59:02.8386381Z +pub fn rcd(_x: Rc<u32>) -> bool {
2019-12-13T01:59:02.8386533Z  }
2019-12-13T01:59:02.8386593Z  
2019-12-13T01:59:02.8386593Z  
2019-12-13T01:59:02.8386845Z  pub fn rcmut(_x: Rc<&mut u32>) -> bool {
2019-12-13T01:59:02.8386997Z  }
2019-12-13T01:59:02.8387056Z  
2019-12-13T01:59:02.8387056Z  
2019-12-13T01:59:02.8387320Z -#[must_use] pub fn arcd(_x: Arc<u32>) -> bool {
2019-12-13T01:59:02.8387561Z +pub fn arcd(_x: Arc<u32>) -> bool {
2019-12-13T01:59:02.8387807Z  }
2019-12-13T01:59:02.8387883Z  
2019-12-13T01:59:02.8387883Z  
2019-12-13T01:59:02.8388166Z  pub fn inner_types(_m: &MyAtomic) -> bool {
2019-12-13T01:59:02.8388323Z  }
2019-12-13T01:59:02.8388383Z  
2019-12-13T01:59:02.8388464Z  static mut COUNTER: usize = 0;
2019-12-13T01:59:02.8388533Z  
---
2019-12-13T01:59:02.8389374Z      COUNTER
2019-12-13T01:59:02.8389438Z  }
2019-12-13T01:59:02.8389513Z  
2019-12-13T01:59:02.8389574Z  fn main() {
2019-12-13T01:59:02.8389655Z      assert_eq!(1, pure(1));
2019-12-13T01:59:02.8389798Z  
2019-12-13T01:59:02.8389835Z 
2019-12-13T01:59:02.8389920Z The actual fixed differed from the expected fixed.
2019-12-13T01:59:02.8389920Z The actual fixed differed from the expected fixed.
2019-12-13T01:59:02.8390383Z Actual fixed saved to /checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/build/clippy-317c1b266af760ab/out/test_build_base/must_use_candidates.fixed
2019-12-13T01:59:02.8391006Z tests/ui/update-references.sh '/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/build/clippy-317c1b266af760ab/out/test_build_base' 'must_use_candidates.rs'
2019-12-13T01:59:02.8391132Z 
2019-12-13T01:59:02.8391199Z error: 2 errors occurred comparing output.
2019-12-13T01:59:02.8391288Z status: exit code: 1
2019-12-13T01:59:02.8391288Z status: exit code: 1
2019-12-13T01:59:02.8394124Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin/clippy-driver" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin/clippy-driver" "tests/ui/must_use_candidates.rs" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/build/clippy-317c1b266af760ab/out/test_build_base" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/build/clippy-317c1b266af760ab/out/test_build_base/must_use_candidates.stage-id" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/release/deps" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps" "-Dwarnings" "-Zui-testing" "--extern" "regex=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libregex-70d9308013a308bf.rlib" "--extern" "serde=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libserde-4cf2006b2fb0099f.rlib" "--extern" "clippy_lints=/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/deps/libclippy_lints-93610b460d310c52.rlib" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools/x86_64-unknown-linux-gnu/release/build/clippy-317c1b266af760ab/out/test_build_base/must_use_candidates.stage-id.aux" "-A" "unused"
2019-12-13T01:59:02.8395190Z ------------------------------------------
2019-12-13T01:59:02.8395362Z 
2019-12-13T01:59:02.8395745Z ------------------------------------------
2019-12-13T01:59:02.8395839Z stderr:
2019-12-13T01:59:02.8395839Z stderr:
2019-12-13T01:59:02.8396075Z ------------------------------------------
2019-12-13T01:59:02.8398724Z {"message":"The `!` type is experimental","code":{"code":"E0658","explanation":"An unstable feature was used.\n\nErroneous code example:\n\n```compile_fail,E658\n#[repr(u128)] // error: use of unstable library feature 'repr128'\nenum Foo {\n    Bar(u64),\n}\n```\n\nIf you're using a stable or a beta version of rustc, you won't be able to use\nany unstable features. In order to do so, please switch to a nightly version of\nrustc (by using rustup).\n\nIf you're using a nightly version of rustc, just add the corresponding feature\nto be able to use it:\n\n```\n#![feature(repr128)]\n\n#[repr(u128)] // ok!\nenum Foo {\n    Bar(u64),\n}\n```\n"},"level":"error","spans":[{"file_name":"tests/ui/must_use_candidates.rs","byte_start":849,"byte_end":850,"line_start":51,"line_end":51,"column_start":31,"column_end":32,"is_primary":true,"text":[{"text":"pub fn quoth_the_raven(_more: !) -> u32 {","highlight_start":31,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see https://github.com/rust-lang/rust/issues/35121","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"add `#![feature(never_type)]` to the crate attributes to enable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"error[E0658]: The `!` type is experimental\n  --> tests/ui/must_use_candidates.rs:51:31\n   |\nLL | pub fn quoth_the_raven(_more: !) -> u32 {\n   |                               ^\n   |\n   = note: for more information, see https://github.com/rust-lang/rust/issues/35121\n   = help: add `#![feature(never_type)]` to the crate attributes to enable\n\n"}
2019-12-13T01:59:02.8400210Z {"message":"For more information about this error, try `rustc --explain E0658`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0658`.\n"}
2019-12-13T01:59:02.8400338Z 
2019-12-13T01:59:02.8400629Z ------------------------------------------
2019-12-13T01:59:02.8400684Z 
---
2019-12-13T01:59:32.0613897Z normalized stderr:
2019-12-13T01:59:32.0621420Z error[E0425]: cannot find value `x` in this scope
2019-12-13T01:59:32.0622214Z   --> $DIR/result_map_unit_fn_unfixable.rs:16:5
2019-12-13T01:59:32.0622799Z    |
2019-12-13T01:59:32.0622938Z LL |     x.field.map(|value| { do_nothing(value); do_nothing(value) });
2019-12-13T01:59:32.0623049Z    |     ^ not found in this scope
2019-12-13T01:59:32.0623173Z error[E0425]: cannot find value `x` in this scope
2019-12-13T01:59:32.0623533Z   --> $DIR/result_map_unit_fn_unfixable.rs:18:5
2019-12-13T01:59:32.0623848Z    |
2019-12-13T01:59:32.0623848Z    |
2019-12-13T01:59:32.0623932Z LL |     x.field.map(|value| if value > 0 { do_nothing(value); do_nothing(value) });
2019-12-13T01:59:32.0624044Z    |     ^ not found in this scope
2019-12-13T01:59:32.0624162Z error[E0425]: cannot find value `x` in this scope
2019-12-13T01:59:32.0624489Z   --> $DIR/result_map_unit_fn_unfixable.rs:22:5
2019-12-13T01:59:32.0624584Z    |
2019-12-13T01:59:32.0624584Z    |
2019-12-13T01:59:32.0624648Z LL |     x.field.map(|value| {
2019-12-13T01:59:32.0624738Z    |     ^ not found in this scope
2019-12-13T01:59:32.0624872Z error[E0425]: cannot find value `x` in this scope
2019-12-13T01:59:32.0625250Z   --> $DIR/result_map_unit_fn_unfixable.rs:26:5
2019-12-13T01:59:32.0625353Z    |
2019-12-13T01:59:32.0625353Z    |
2019-12-13T01:59:32.0625431Z LL |     x.field.map(|value| { do_nothing(value); do_nothing(value); });
2019-12-13T01:59:32.0625536Z    |     ^ not found in this scope
2019-12-13T01:59:32.0625666Z error[E0658]: The `!` type is experimental
2019-12-13T01:59:32.0625971Z   --> $DIR/result_map_unit_fn_unfixable.rs:29:21
2019-12-13T01:59:32.0626066Z    |
2019-12-13T01:59:32.0626066Z    |
2019-12-13T01:59:32.0626139Z LL |     let res: Result<!, usize> = Ok(42).map(diverge);
2019-12-13T01:59:32.0626306Z    |
2019-12-13T01:59:32.0626704Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T01:59:32.0626704Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T01:59:32.0626829Z    = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T01:59:32.0626966Z error: aborting due to 5 previous errors
2019-12-13T01:59:32.0627035Z 
2019-12-13T01:59:32.0627120Z Some errors have detailed explanations: E0425, E0658.
2019-12-13T01:59:32.0627463Z For more information about an error, try `rustc --explain E0425`.
2019-12-13T01:59:32.0627463Z For more information about an error, try `rustc --explain E0425`.
2019-12-13T01:59:32.0633997Z 
2019-12-13T01:59:32.0645596Z 
2019-12-13T01:59:32.0649308Z expected stderr:
2019-12-13T01:59:32.0657515Z error[E0425]: cannot find value `x` in this scope
2019-12-13T01:59:32.0658556Z   --> $DIR/result_map_unit_fn_unfixable.rs:16:5
2019-12-13T01:59:32.0659044Z    |
2019-12-13T01:59:32.0659253Z LL |     x.field.map(|value| { do_nothing(value); do_nothing(value) });
2019-12-13T01:59:32.0659472Z    |     ^ not found in this scope
2019-12-13T01:59:32.0659836Z error[E0425]: cannot find value `x` in this scope
2019-12-13T01:59:32.0660374Z   --> $DIR/result_map_unit_fn_unfixable.rs:18:5
2019-12-13T01:59:32.0660610Z    |
2019-12-13T01:59:32.0660610Z    |
2019-12-13T01:59:32.0660825Z LL |     x.field.map(|value| if value > 0 { do_nothing(value); do_nothing(value) });
2019-12-13T01:59:32.0661033Z    |     ^ not found in this scope
2019-12-13T01:59:32.0661374Z error[E0425]: cannot find value `x` in this scope
2019-12-13T01:59:32.0661859Z   --> $DIR/result_map_unit_fn_unfixable.rs:22:5
2019-12-13T01:59:32.0662089Z    |
2019-12-13T01:59:32.0662089Z    |
2019-12-13T01:59:32.0662262Z LL |     x.field.map(|value| {
2019-12-13T01:59:32.0662461Z    |     ^ not found in this scope
2019-12-13T01:59:32.0663136Z error[E0425]: cannot find value `x` in this scope
2019-12-13T01:59:32.0663632Z   --> $DIR/result_map_unit_fn_unfixable.rs:26:5
2019-12-13T01:59:32.0663866Z    |
2019-12-13T01:59:32.0663866Z    |
2019-12-13T01:59:32.0664055Z LL |     x.field.map(|value| { do_nothing(value); do_nothing(value); });
2019-12-13T01:59:32.0664270Z    |     ^ not found in this scope
2019-12-13T01:59:32.0664634Z error: aborting due to 4 previous errors
2019-12-13T01:59:32.0664781Z 
2019-12-13T01:59:32.0665243Z For more information about this error, try `rustc --explain E0425`.
2019-12-13T01:59:32.0665470Z 
2019-12-13T01:59:32.0665470Z 
2019-12-13T01:59:32.0665613Z 
2019-12-13T01:59:32.0665812Z diff of stderr:
2019-12-13T01:59:32.0665956Z 
2019-12-13T01:59:32.0666156Z  error[E0425]: cannot find value `x` in this scope
2019-12-13T01:59:32.0666773Z    --> $DIR/result_map_unit_fn_unfixable.rs:16:5
2019-12-13T01:59:32.0667177Z     |
2019-12-13T01:59:32.0667354Z  LL |     x.field.map(|value| { do_nothing(value); do_nothing(value) });
2019-12-13T01:59:32.0667762Z     |     ^ not found in this scope
2019-12-13T01:59:32.0668118Z  error[E0425]: cannot find value `x` in this scope
2019-12-13T01:59:32.0668758Z    --> $DIR/result_map_unit_fn_unfixable.rs:18:5
2019-12-13T01:59:32.0668984Z     |
2019-12-13T01:59:32.0668984Z     |
2019-12-13T01:59:32.0669187Z  LL |     x.field.map(|value| if value > 0 { do_nothing(value); do_nothing(value) });
2019-12-13T01:59:32.0669564Z     |     ^ not found in this scope
2019-12-13T01:59:32.0820168Z  error[E0425]: cannot find value `x` in this scope
2019-12-13T01:59:32.0820903Z    --> $DIR/result_map_unit_fn_unfixable.rs:22:5
2019-12-13T01:59:32.0820994Z     |
2019-12-13T01:59:32.0820994Z     |
2019-12-13T01:59:32.0821339Z  LL |     x.field.map(|value| {
2019-12-13T01:59:32.0821434Z     |     ^ not found in this scope
2019-12-13T01:59:32.0821593Z  error[E0425]: cannot find value `x` in this scope
2019-12-13T01:59:32.0822086Z    --> $DIR/result_map_unit_fn_unfixable.rs:26:5
2019-12-13T01:59:32.0822177Z     |
2019-12-13T01:59:32.0822177Z     |
2019-12-13T01:59:32.0822271Z  LL |     x.field.map(|value| { do_nothing(value); do_nothing(value); });
2019-12-13T01:59:32.0822375Z     |     ^ not found in this scope
2019-12-13T01:59:32.0823239Z -error: aborting due to 4 previous errors
2019-12-13T01:59:32.0823326Z +error[E0658]: The `!` type is experimental
2019-12-13T01:59:32.0823610Z +  --> $DIR/result_map_unit_fn_unfixable.rs:29:21
2019-12-13T01:59:32.0823686Z +   |
2019-12-13T01:59:32.0823686Z +   |
2019-12-13T01:59:32.0823776Z +LL |     let res: Result<!, usize> = Ok(42).map(diverge);
2019-12-13T01:59:32.0823942Z +   |
2019-12-13T01:59:32.0824267Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T01:59:32.0824267Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T01:59:32.0824377Z +   = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T01:59:32.0824753Z -For more information about this error, try `rustc --explain E0425`.
2019-12-13T01:59:32.0824861Z +error: aborting due to 5 previous errors
2019-12-13T01:59:32.0824943Z +
2019-12-13T01:59:32.0825033Z +Some errors have detailed explanations: E0425, E0658.
---
2019-12-13T01:59:32.0831161Z 
2019-12-13T01:59:32.0831726Z ------------------------------------------
2019-12-13T01:59:32.0831799Z stderr:
2019-12-13T01:59:32.0832042Z ------------------------------------------
2019-12-13T01:59:32.0835319Z {"message":"cannot find value `x` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n    fn bar() {\n        Self; // error: unresolved name `Self`\n    }\n}\n\n// or:\n\nlet x = unknown_variable;  // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n    Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n    pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"tests/ui/result_map_unit_fn_unfixable.rs","byte_start":227,"byte_end":228,"line_start":16,"line_end":16,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":"    x.field.map(|value| { do_nothing(value); do_nothing(value) });","highlight_start":5,"highlight_end":6}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0425]: cannot find value `x` in this scope\n  --> tests/ui/result_map_unit_fn_unfixable.rs:16:5\n   |\nLL |     x.field.map(|value| { do_nothing(value); do_nothing(value) });\n   |     ^ not found in this scope\n\n"}
2019-12-13T01:59:32.0839336Z {"message":"cannot find value `x` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n    fn bar() {\n        Self; // error: unresolved name `Self`\n    }\n}\n\n// or:\n\nlet x = unknown_variable;  // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n    Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n    pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"tests/ui/result_map_unit_fn_unfixable.rs","byte_start":295,"byte_end":296,"line_start":18,"line_end":18,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":"    x.field.map(|value| if value > 0 { do_nothing(value); do_nothing(value) });","highlight_start":5,"highlight_end":6}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0425]: cannot find value `x` in this scope\n  --> tests/ui/result_map_unit_fn_unfixable.rs:18:5\n   |\nLL |     x.field.map(|value| if value > 0 { do_nothing(value); do_nothing(value) });\n   |     ^ not found in this scope\n\n"}
2019-12-13T01:59:32.0884817Z {"message":"cannot find value `x` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n    fn bar() {\n        Self; // error: unresolved name `Self`\n    }\n}\n\n// or:\n\nlet x = unknown_variable;  // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n    Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n    pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"tests/ui/result_map_unit_fn_unfixable.rs","byte_start":506,"byte_end":507,"line_start":22,"line_end":22,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":"    x.field.map(|value| {","highlight_start":5,"highlight_end":6}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0425]: cannot find value `x` in this scope\n  --> tests/ui/result_map_unit_fn_unfixable.rs:22:5\n   |\nLL |     x.field.map(|value| {\n   |     ^ not found in this scope\n\n"}
2019-12-13T01:59:32.0889021Z {"message":"cannot find value `x` in this scope","code":{"code":"E0425","explanation":"An unresolved name was used.\n\nErroneous code examples:\n\n```compile_fail,E0425\nsomething_that_doesnt_exist::foo;\n// error: unresolved name `something_that_doesnt_exist::foo`\n\n// or:\n\ntrait Foo {\n    fn bar() {\n        Self; // error: unresolved name `Self`\n    }\n}\n\n// or:\n\nlet x = unknown_variable;  // error: unresolved name `unknown_variable`\n```\n\nPlease verify that the name wasn't misspelled and ensure that the\nidentifier being referred to is valid for the given situation. Example:\n\n```\nenum something_that_does_exist {\n    Foo,\n}\n```\n\nOr:\n\n```\nmod something_that_does_exist {\n    pub static foo : i32 = 0i32;\n}\n\nsomething_that_does_exist::foo; // ok!\n```\n\nOr:\n\n```\nlet unknown_variable = 12u32;\nlet x = unknown_variable; // ok!\n```\n\nIf the item is not defined in the current module, it must be imported using a\n`use` statement, like so:\n\n```\n# mod foo { pub fn bar() {} }\n# fn main() {\nuse foo::bar;\nbar();\n# }\n```\n\nIf the item you are importing is not defined in some super-module of the\ncurrent module, then it must also be declared as public (e.g., `pub fn`).\n"},"level":"error","spans":[{"file_name":"tests/ui/result_map_unit_fn_unfixable.rs","byte_start":593,"byte_end":594,"line_start":26,"line_end":26,"column_start":5,"column_end":6,"is_primary":true,"text":[{"text":"    x.field.map(|value| { do_nothing(value); do_nothing(value); });","highlight_start":5,"highlight_end":6}],"label":"not found in this scope","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0425]: cannot find value `x` in this scope\n  --> tests/ui/result_map_unit_fn_unfixable.rs:26:5\n   |\nLL |     x.field.map(|value| { do_nothing(value); do_nothing(value); });\n   |     ^ not found in this scope\n\n"}
2019-12-13T01:59:32.0893299Z {"message":"The `!` type is experimental","code":{"code":"E0658","explanation":"An unstable feature was used.\n\nErroneous code example:\n\n```compile_fail,E658\n#[repr(u128)] // error: use of unstable library feature 'repr128'\nenum Foo {\n    Bar(u64),\n}\n```\n\nIf you're using a stable or a beta version of rustc, you won't be able to use\nany unstable features. In order to do so, please switch to a nightly version of\nrustc (by using rustup).\n\nIf you're using a nightly version of rustc, just add the corresponding feature\nto be able to use it:\n\n```\n#![feature(repr128)]\n\n#[repr(u128)] // ok!\nenum Foo {\n    Bar(u64),\n}\n```\n"},"level":"error","spans":[{"file_name":"tests/ui/result_map_unit_fn_unfixable.rs","byte_start":800,"byte_end":801,"line_start":29,"line_end":29,"column_start":21,"column_end":22,"is_primary":true,"text":[{"text":"    let res: Result<!, usize> = Ok(42).map(diverge);","highlight_start":21,"highlight_end":22}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see https://github.com/rust-lang/rust/issues/35121","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"add `#![feature(never_type)]` to the crate attributes to enable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"error[E0658]: The `!` type is experimental\n  --> tests/ui/result_map_unit_fn_unfixable.rs:29:21\n   |\nLL |     let res: Result<!, usize> = Ok(42).map(diverge);\n   |                     ^\n   |\n   = note: for more information, see https://github.com/rust-lang/rust/issues/35121\n   = help: add `#![feature(never_type)]` to the crate attributes to enable\n\n"}
2019-12-13T01:59:32.0894224Z {"message":"aborting due to 5 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 5 previous errors\n\n"}
2019-12-13T01:59:32.0894812Z {"message":"Some errors have detailed explanations: E0425, E0658.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"Some errors have detailed explanations: E0425, E0658.\n"}
2019-12-13T01:59:32.0895390Z {"message":"For more information about an error, try `rustc --explain E0425`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0425`.\n"}
2019-12-13T01:59:32.0896258Z ------------------------------------------
2019-12-13T01:59:32.0896336Z 
2019-12-13T01:59:32.0896427Z test [ui] ui/result_map_unit_fn_unfixable.rs ... FAILED
2019-12-13T01:59:32.6651473Z test [ui] ui/same_functions_in_if_condition.rs ... ok
---
2019-12-13T02:39:51.0011011Z normalized stderr:
2019-12-13T02:39:51.0011174Z error[E0658]: The `!` type is experimental
2019-12-13T02:39:51.0011985Z   --> $DIR/async-fn.rs:44:22
2019-12-13T02:39:51.0012127Z    |
2019-12-13T02:39:51.0012210Z 44 |     let _x: (String, !) = (String::new(), return async { x + x }.await);
2019-12-13T02:39:51.0012389Z    |
2019-12-13T02:39:51.0013849Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:39:51.0013849Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:39:51.0013979Z    = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T02:39:51.0014659Z error: aborting due to previous error
2019-12-13T02:39:51.0014717Z 
2019-12-13T02:39:51.0015073Z For more information about this error, try `rustc --explain E0658`.
2019-12-13T02:39:51.0015125Z 
---
2019-12-13T02:39:51.0016920Z 
2019-12-13T02:39:51.0020416Z +error[E0658]: The `!` type is experimental
2019-12-13T02:39:51.0021278Z +  --> $DIR/async-fn.rs:44:22
2019-12-13T02:39:51.0024281Z +   |
2019-12-13T02:39:51.0024418Z +44 |     let _x: (String, !) = (String::new(), return async { x + x }.await);
2019-12-13T02:39:51.0029293Z +   |
2019-12-13T02:39:51.0033802Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:39:51.0033802Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:39:51.0033985Z +   = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T02:39:51.0037160Z +error: aborting due to previous error
2019-12-13T02:39:51.0040479Z +
2019-12-13T02:39:51.0040938Z +For more information about this error, try `rustc --explain E0658`.
2019-12-13T02:39:51.0042767Z +
2019-12-13T02:39:51.0042767Z +
2019-12-13T02:39:51.0046715Z 
2019-12-13T02:39:51.0047392Z The actual stderr differed from the expected stderr.
2019-12-13T02:39:51.0050938Z Actual stderr saved to /tmp/compiletestRnsZyF/async-fn.stderr
2019-12-13T02:39:51.0059521Z To update references, run this command from build directory:
2019-12-13T02:39:51.0063825Z tests/run-pass/update-references.sh '/tmp/compiletestRnsZyF' 'async-fn.rs'
2019-12-13T02:39:51.0068909Z error: 1 errors occurred comparing output.
2019-12-13T02:39:51.0069269Z status: exit code: 1
2019-12-13T02:39:51.0069269Z status: exit code: 1
2019-12-13T02:39:51.0071205Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin/miri" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin/miri" "tests/run-pass/async-fn.rs" "-L" "/tmp/compiletestRnsZyF" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-C" "prefer-dynamic" "-o" "/tmp/compiletestRnsZyF/async-fn.stage-id" "--edition" "2018" "-Astable-features" "--sysroot" "/home/user/.cache/miri/HOST" "-L" "/tmp/compiletestRnsZyF/async-fn.stage-id.aux" "-A" "unused"
2019-12-13T02:39:51.0072021Z ------------------------------------------
2019-12-13T02:39:51.0072077Z 
2019-12-13T02:39:51.0072343Z ------------------------------------------
2019-12-13T02:39:51.0072420Z stderr:
2019-12-13T02:39:51.0072420Z stderr:
2019-12-13T02:39:51.0072777Z ------------------------------------------
2019-12-13T02:39:51.0075903Z {"message":"The `!` type is experimental","code":{"code":"E0658","explanation":"An unstable feature was used.\n\nErroneous code example:\n\n```compile_fail,E658\n#[repr(u128)] // error: use of unstable library feature 'repr128'\nenum Foo {\n    Bar(u64),\n}\n```\n\nIf you're using a stable or a beta version of rustc, you won't be able to use\nany unstable features. In order to do so, please switch to a nightly version of\nrustc (by using rustup).\n\nIf you're using a nightly version of rustc, just add the corresponding feature\nto be able to use it:\n\n```\n#![feature(repr128)]\n\n#[repr(u128)] // ok!\nenum Foo {\n    Bar(u64),\n}\n```\n"},"level":"error","spans":[{"file_name":"tests/run-pass/async-fn.rs","byte_start":941,"byte_end":942,"line_start":44,"line_end":44,"column_start":22,"column_end":23,"is_primary":true,"text":[{"text":"    let _x: (String, !) = (String::new(), return async { x + x }.await);","highlight_start":22,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see https://github.com/rust-lang/rust/issues/35121","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"add `#![feature(never_type)]` to the crate attributes to enable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"error[E0658]: The `!` type is experimental\n  --> tests/run-pass/async-fn.rs:44:22\n   |\n44 |     let _x: (String, !) = (String::new(), return async { x + x }.await);\n   |                      ^\n   |\n   = note: for more information, see https://github.com/rust-lang/rust/issues/35121\n   = help: add `#![feature(never_type)]` to the crate attributes to enable\n\n"}
2019-12-13T02:39:51.0077252Z {"message":"For more information about this error, try `rustc --explain E0658`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0658`.\n"}
2019-12-13T02:39:51.0077379Z 
2019-12-13T02:39:51.0077635Z ------------------------------------------
2019-12-13T02:39:51.0077691Z 
---
2019-12-13T02:39:57.9661412Z normalized stderr:
2019-12-13T02:39:57.9662211Z error[E0658]: The `!` type is experimental
2019-12-13T02:39:57.9663400Z   --> $DIR/generator.rs:94:26
2019-12-13T02:39:57.9663509Z    |
2019-12-13T02:39:57.9663651Z 94 |         let _x: (String, !) = (String::new(), { yield 2; return });
2019-12-13T02:39:57.9663833Z    |
2019-12-13T02:39:57.9664190Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:39:57.9664190Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:39:57.9664370Z    = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T02:39:57.9664521Z error: aborting due to previous error
2019-12-13T02:39:57.9664587Z 
2019-12-13T02:39:57.9664881Z For more information about this error, try `rustc --explain E0658`.
2019-12-13T02:39:57.9664939Z 
---
2019-12-13T02:39:57.9665295Z 
2019-12-13T02:39:57.9665362Z +error[E0658]: The `!` type is experimental
2019-12-13T02:39:57.9665635Z +  --> $DIR/generator.rs:94:26
2019-12-13T02:39:57.9665917Z +   |
2019-12-13T02:39:57.9666491Z +94 |         let _x: (String, !) = (String::new(), { yield 2; return });
2019-12-13T02:39:57.9666705Z +   |
2019-12-13T02:39:57.9667140Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:39:57.9667140Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:39:57.9667249Z +   = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T02:39:57.9667422Z +error: aborting due to previous error
2019-12-13T02:39:57.9667510Z +
2019-12-13T02:39:57.9667790Z +For more information about this error, try `rustc --explain E0658`.
2019-12-13T02:39:57.9668031Z +
2019-12-13T02:39:57.9668031Z +
2019-12-13T02:39:57.9675518Z 
2019-12-13T02:39:57.9675908Z The actual stderr differed from the expected stderr.
2019-12-13T02:39:57.9676161Z Actual stderr saved to /tmp/compiletestRnsZyF/generator.stderr
2019-12-13T02:39:57.9676386Z To update references, run this command from build directory:
2019-12-13T02:39:57.9677669Z tests/run-pass/update-references.sh '/tmp/compiletestRnsZyF' 'generator.rs'
2019-12-13T02:39:57.9678131Z error: 1 errors occurred comparing output.
2019-12-13T02:39:57.9678325Z status: exit code: 1
2019-12-13T02:39:57.9678325Z status: exit code: 1
2019-12-13T02:39:57.9679377Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin/miri" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin/miri" "tests/run-pass/generator.rs" "-L" "/tmp/compiletestRnsZyF" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-C" "prefer-dynamic" "-o" "/tmp/compiletestRnsZyF/generator.stage-id" "--edition" "2018" "-Astable-features" "--sysroot" "/home/user/.cache/miri/HOST" "-L" "/tmp/compiletestRnsZyF/generator.stage-id.aux" "-A" "unused"
2019-12-13T02:39:57.9682052Z ------------------------------------------
2019-12-13T02:39:57.9682286Z 
2019-12-13T02:39:57.9682715Z ------------------------------------------
2019-12-13T02:39:57.9682957Z stderr:
2019-12-13T02:39:57.9682957Z stderr:
2019-12-13T02:39:57.9683350Z ------------------------------------------
2019-12-13T02:39:57.9686281Z {"message":"The `!` type is experimental","code":{"code":"E0658","explanation":"An unstable feature was used.\n\nErroneous code example:\n\n```compile_fail,E658\n#[repr(u128)] // error: use of unstable library feature 'repr128'\nenum Foo {\n    Bar(u64),\n}\n```\n\nIf you're using a stable or a beta version of rustc, you won't be able to use\nany unstable features. In order to do so, please switch to a nightly version of\nrustc (by using rustup).\n\nIf you're using a nightly version of rustc, just add the corresponding feature\nto be able to use it:\n\n```\n#![feature(repr128)]\n\n#[repr(u128)] // ok!\nenum Foo {\n    Bar(u64),\n}\n```\n"},"level":"error","spans":[{"file_name":"tests/run-pass/generator.rs","byte_start":1759,"byte_end":1760,"line_start":94,"line_end":94,"column_start":26,"column_end":27,"is_primary":true,"text":[{"text":"        let _x: (String, !) = (String::new(), { yield 2; return });","highlight_start":26,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see https://github.com/rust-lang/rust/issues/35121","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"add `#![feature(never_type)]` to the crate attributes to enable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"error[E0658]: The `!` type is experimental\n  --> tests/run-pass/generator.rs:94:26\n   |\n94 |         let _x: (String, !) = (String::new(), { yield 2; return });\n   |                          ^\n   |\n   = note: for more information, see https://github.com/rust-lang/rust/issues/35121\n   = help: add `#![feature(never_type)]` to the crate attributes to enable\n\n"}
2019-12-13T02:39:57.9688083Z {"message":"For more information about this error, try `rustc --explain E0658`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0658`.\n"}
2019-12-13T02:39:57.9688612Z 
2019-12-13T02:39:57.9689108Z ------------------------------------------
2019-12-13T02:39:57.9689334Z 
---
2019-12-13T02:40:04.4370391Z normalized stderr:
2019-12-13T02:40:04.4378366Z error[E0658]: The `!` type is experimental
2019-12-13T02:40:04.4379205Z   --> $DIR/loop-break-value.rs:15:25
2019-12-13T02:40:04.4379285Z    |
2019-12-13T02:40:04.4379369Z 15 |             let _never: ! = loop {
2019-12-13T02:40:04.4379531Z    |
2019-12-13T02:40:04.4379858Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:40:04.4379858Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:40:04.4379965Z    = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T02:40:04.4380114Z error: aborting due to previous error
2019-12-13T02:40:04.4380164Z 
2019-12-13T02:40:04.4380957Z For more information about this error, try `rustc --explain E0658`.
2019-12-13T02:40:04.4386681Z 
---
2019-12-13T02:40:04.4403296Z 
2019-12-13T02:40:04.4423645Z +error[E0658]: The `!` type is experimental
2019-12-13T02:40:04.4424351Z +  --> $DIR/loop-break-value.rs:15:25
2019-12-13T02:40:04.4424453Z +   |
2019-12-13T02:40:04.4424520Z +15 |             let _never: ! = loop {
2019-12-13T02:40:04.4424686Z +   |
2019-12-13T02:40:04.4425015Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:40:04.4425015Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:40:04.4425127Z +   = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T02:40:04.4425480Z +error: aborting due to previous error
2019-12-13T02:40:04.4425548Z +
2019-12-13T02:40:04.4425954Z +For more information about this error, try `rustc --explain E0658`.
2019-12-13T02:40:04.4426045Z +
2019-12-13T02:40:04.4426045Z +
2019-12-13T02:40:04.4426086Z 
2019-12-13T02:40:04.4426173Z The actual stderr differed from the expected stderr.
2019-12-13T02:40:04.4426503Z Actual stderr saved to /tmp/compiletestRnsZyF/loop-break-value.stderr
2019-12-13T02:40:04.4426599Z To update references, run this command from build directory:
2019-12-13T02:40:04.4426922Z tests/run-pass/update-references.sh '/tmp/compiletestRnsZyF' 'loop-break-value.rs'
2019-12-13T02:40:04.4427069Z error: 1 errors occurred comparing output.
2019-12-13T02:40:04.4427140Z status: exit code: 1
2019-12-13T02:40:04.4427140Z status: exit code: 1
2019-12-13T02:40:04.4427991Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin/miri" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin/miri" "tests/run-pass/loop-break-value.rs" "-L" "/tmp/compiletestRnsZyF" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-C" "prefer-dynamic" "-o" "/tmp/compiletestRnsZyF/loop-break-value.stage-id" "--edition" "2018" "-Astable-features" "--sysroot" "/home/user/.cache/miri/HOST" "-L" "/tmp/compiletestRnsZyF/loop-break-value.stage-id.aux" "-A" "unused"
2019-12-13T02:40:04.4428486Z ------------------------------------------
2019-12-13T02:40:04.4428553Z 
2019-12-13T02:40:04.4428790Z ------------------------------------------
2019-12-13T02:40:04.4428888Z stderr:
2019-12-13T02:40:04.4428888Z stderr:
2019-12-13T02:40:04.4429117Z ------------------------------------------
2019-12-13T02:40:04.4432131Z {"message":"The `!` type is experimental","code":{"code":"E0658","explanation":"An unstable feature was used.\n\nErroneous code example:\n\n```compile_fail,E658\n#[repr(u128)] // error: use of unstable library feature 'repr128'\nenum Foo {\n    Bar(u64),\n}\n```\n\nIf you're using a stable or a beta version of rustc, you won't be able to use\nany unstable features. In order to do so, please switch to a nightly version of\nrustc (by using rustup).\n\nIf you're using a nightly version of rustc, just add the corresponding feature\nto be able to use it:\n\n```\n#![feature(repr128)]\n\n#[repr(u128)] // ok!\nenum Foo {\n    Bar(u64),\n}\n```\n"},"level":"error","spans":[{"file_name":"tests/run-pass/loop-break-value.rs","byte_start":240,"byte_end":241,"line_start":15,"line_end":15,"column_start":25,"column_end":26,"is_primary":true,"text":[{"text":"            let _never: ! = loop {","highlight_start":25,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see https://github.com/rust-lang/rust/issues/35121","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"add `#![feature(never_type)]` to the crate attributes to enable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"error[E0658]: The `!` type is experimental\n  --> tests/run-pass/loop-break-value.rs:15:25\n   |\n15 |             let _never: ! = loop {\n   |                         ^\n   |\n   = note: for more information, see https://github.com/rust-lang/rust/issues/35121\n   = help: add `#![feature(never_type)]` to the crate attributes to enable\n\n"}
2019-12-13T02:40:04.4433748Z {"message":"For more information about this error, try `rustc --explain E0658`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0658`.\n"}
2019-12-13T02:40:04.4433872Z 
2019-12-13T02:40:04.4434292Z ------------------------------------------
2019-12-13T02:40:04.4434341Z 
---
2019-12-13T02:40:06.5532368Z normalized stderr:
2019-12-13T02:40:06.5537871Z error[E0658]: The `!` type is experimental
2019-12-13T02:40:06.5538753Z   --> $DIR/catch_panic.rs:23:53
2019-12-13T02:40:06.5538833Z    |
2019-12-13T02:40:06.5539167Z 23 | fn do_panic_counter(do_panic: impl FnOnce(usize) -> !) {
2019-12-13T02:40:06.5539355Z    |
2019-12-13T02:40:06.5539660Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:40:06.5539660Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:40:06.5539766Z    = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T02:40:06.5539908Z error[E0658]: The `!` type is experimental
2019-12-13T02:40:06.5540162Z   --> $DIR/catch_panic.rs:70:41
2019-12-13T02:40:06.5540232Z    |
2019-12-13T02:40:06.5540232Z    |
2019-12-13T02:40:06.5540506Z 70 | fn test(do_panic: impl FnOnce(usize) -> !) {
2019-12-13T02:40:06.5541179Z    |
2019-12-13T02:40:06.5541515Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:40:06.5541515Z    = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:40:06.5541640Z    = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T02:40:06.5541809Z error: aborting due to 2 previous errors
2019-12-13T02:40:06.5541861Z 
2019-12-13T02:40:06.5542203Z For more information about this error, try `rustc --explain E0658`.
2019-12-13T02:40:06.5546428Z 
---
2019-12-13T02:40:06.5595493Z -Success!
2019-12-13T02:40:06.5595561Z +error[E0658]: The `!` type is experimental
2019-12-13T02:40:06.5595802Z +  --> $DIR/catch_panic.rs:23:53
2019-12-13T02:40:06.5595880Z +   |
2019-12-13T02:40:06.5596146Z +23 | fn do_panic_counter(do_panic: impl FnOnce(usize) -> !) {
2019-12-13T02:40:06.5596322Z +   |
2019-12-13T02:40:06.5596609Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:40:06.5596609Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:40:06.5596708Z +   = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T02:40:06.5596868Z +error[E0658]: The `!` type is experimental
2019-12-13T02:40:06.5597114Z +  --> $DIR/catch_panic.rs:70:41
2019-12-13T02:40:06.5597207Z +   |
2019-12-13T02:40:06.5597207Z +   |
2019-12-13T02:40:06.5597441Z +70 | fn test(do_panic: impl FnOnce(usize) -> !) {
2019-12-13T02:40:06.5597607Z +   |
2019-12-13T02:40:06.5597896Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:40:06.5597896Z +   = note: for more information, see https://github.com/rust-lang/rust/issues/35121
2019-12-13T02:40:06.5598166Z +   = help: add `#![feature(never_type)]` to the crate attributes to enable
2019-12-13T02:40:06.5598322Z +error: aborting due to 2 previous errors
2019-12-13T02:40:06.5598406Z +
2019-12-13T02:40:06.5598720Z +For more information about this error, try `rustc --explain E0658`.
2019-12-13T02:40:06.5598797Z  
2019-12-13T02:40:06.5598797Z  
2019-12-13T02:40:06.5598833Z 
2019-12-13T02:40:06.5599012Z The actual stderr differed from the expected stderr.
2019-12-13T02:40:06.5599098Z Actual stderr saved to /tmp/compiletestRnsZyF/panic/catch_panic.stderr
2019-12-13T02:40:06.5599205Z To update references, run this command from build directory:
2019-12-13T02:40:06.5599601Z tests/run-pass/update-references.sh '/tmp/compiletestRnsZyF' 'panic/catch_panic.rs'
2019-12-13T02:40:06.5599749Z error: 1 errors occurred comparing output.
2019-12-13T02:40:06.5599819Z status: exit code: 1
2019-12-13T02:40:06.5599819Z status: exit code: 1
2019-12-13T02:40:06.5601720Z command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin/miri" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2-tools-bin/miri" "tests/run-pass/panic/catch_panic.rs" "-L" "/tmp/compiletestRnsZyF" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-C" "prefer-dynamic" "-o" "/tmp/compiletestRnsZyF/panic/catch_panic.stage-id" "--edition" "2018" "-Astable-features" "--sysroot" "/home/user/.cache/miri/HOST" "-L" "/tmp/compiletestRnsZyF/panic/catch_panic.stage-id.aux" "-A" "unused"
2019-12-13T02:40:06.5602319Z ------------------------------------------
2019-12-13T02:40:06.5602389Z 
2019-12-13T02:40:06.5602637Z ------------------------------------------
2019-12-13T02:40:06.5602729Z stderr:
2019-12-13T02:40:06.5602729Z stderr:
2019-12-13T02:40:06.5602977Z ------------------------------------------
2019-12-13T02:40:06.5605969Z {"message":"The `!` type is experimental","code":{"code":"E0658","explanation":"An unstable feature was used.\n\nErroneous code example:\n\n```compile_fail,E658\n#[repr(u128)] // error: use of unstable library feature 'repr128'\nenum Foo {\n    Bar(u64),\n}\n```\n\nIf you're using a stable or a beta version of rustc, you won't be able to use\nany unstable features. In order to do so, please switch to a nightly version of\nrustc (by using rustup).\n\nIf you're using a nightly version of rustc, just add the corresponding feature\nto be able to use it:\n\n```\n#![feature(repr128)]\n\n#[repr(u128)] // ok!\nenum Foo {\n    Bar(u64),\n}\n```\n"},"level":"error","spans":[{"file_name":"tests/run-pass/panic/catch_panic.rs","byte_start":538,"byte_end":539,"line_start":23,"line_end":23,"column_start":53,"column_end":54,"is_primary":true,"text":[{"text":"fn do_panic_counter(do_panic: impl FnOnce(usize) -> !) {","highlight_start":53,"highlight_end":54}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see https://github.com/rust-lang/rust/issues/35121","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"add `#![feature(never_type)]` to the crate attributes to enable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"error[E0658]: The `!` type is experimental\n  --> tests/run-pass/panic/catch_panic.rs:23:53\n   |\n23 | fn do_panic_counter(do_panic: impl FnOnce(usize) -> !) {\n   |                                                     ^\n   |\n   = note: for more information, see https://github.com/rust-lang/rust/issues/35121\n   = help: add `#![feature(never_type)]` to the crate attributes to enable\n\n"}
2019-12-13T02:40:06.5610274Z {"message":"The `!` type is experimental","code":{"code":"E0658","explanation":"An unstable feature was used.\n\nErroneous code example:\n\n```compile_fail,E658\n#[repr(u128)] // error: use of unstable library feature 'repr128'\nenum Foo {\n    Bar(u64),\n}\n```\n\nIf you're using a stable or a beta version of rustc, you won't be able to use\nany unstable features. In order to do so, please switch to a nightly version of\nrustc (by using rustup).\n\nIf you're using a nightly version of rustc, just add the corresponding feature\nto be able to use it:\n\n```\n#![feature(repr128)]\n\n#[repr(u128)] // ok!\nenum Foo {\n    Bar(u64),\n}\n```\n"},"level":"error","spans":[{"file_name":"tests/run-pass/panic/catch_panic.rs","byte_start":2103,"byte_end":2104,"line_start":70,"line_end":70,"column_start":41,"column_end":42,"is_primary":true,"text":[{"text":"fn test(do_panic: impl FnOnce(usize) -> !) {","highlight_start":41,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"for more information, see https://github.com/rust-lang/rust/issues/35121","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"add `#![feature(never_type)]` to the crate attributes to enable","code":null,"level":"help","spans":[],"children":[],"rendered":null}],"rendered":"error[E0658]: The `!` type is experimental\n  --> tests/run-pass/panic/catch_panic.rs:70:41\n   |\n70 | fn test(do_panic: impl FnOnce(usize) -> !) {\n   |                                         ^\n   |\n   = note: for more information, see https://github.com/rust-lang/rust/issues/35121\n   = help: add `#![feature(never_type)]` to the crate attributes to enable\n\n"}
2019-12-13T02:40:06.5612521Z {"message":"For more information about this error, try `rustc --explain E0658`.","code":null,"level":"failure-note","spans":[],"children":[],"rendered":"For more information about this error, try `rustc --explain E0658`.\n"}
2019-12-13T02:40:06.5612674Z 
2019-12-13T02:40:06.5612952Z ------------------------------------------
2019-12-13T02:40:06.5613009Z 
---
2019-12-13T02:40:16.9906044Z Verifying status of clippy-driver...
2019-12-13T02:40:16.9906319Z Verifying status of miri...
2019-12-13T02:40:16.9910030Z Verifying status of embedded-book...
2019-12-13T02:40:16.9910786Z Verifying status of rustc-guide...
2019-12-13T02:40:16.9912185Z error: Tool `reference` should be test-pass but is test-fail during beta week.
2019-12-13T02:40:16.9912730Z error: Tool `clippy-driver` should be test-pass but is test-fail during beta week.
2019-12-13T02:40:16.9918802Z Build completed unsuccessfully in 0:00:01
2019-12-13T02:40:16.9971897Z == clock drift check ==
2019-12-13T02:40:16.9988217Z   local time: Fri Dec 13 02:40:16 UTC 2019
2019-12-13T02:40:17.5445126Z   network time: Fri, 13 Dec 2019 02:40:17 GMT
2019-12-13T02:40:17.5445126Z   network time: Fri, 13 Dec 2019 02:40:17 GMT
2019-12-13T02:40:17.5448477Z == end clock drift check ==
2019-12-13T02:40:18.2383075Z 
2019-12-13T02:40:18.2452031Z ##[error]Bash exited with code '1'.
2019-12-13T02:40:18.2505071Z ##[section]Starting: Checkout
2019-12-13T02:40:18.2507521Z ==============================================================================
2019-12-13T02:40:18.2507627Z Task         : Get sources
2019-12-13T02:40:18.2507709Z 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)

@bors
Copy link
Contributor

bors commented Dec 13, 2019

💔 Test failed - checks-azure

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

Successfully merging this pull request may close these issues.

8 participants