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

Misc lowering cleanups #51654

Closed
wants to merge 20 commits into from
Closed

Misc lowering cleanups #51654

wants to merge 20 commits into from

Conversation

oli-obk
Copy link
Contributor

@oli-obk oli-obk commented Jun 20, 2018

These commits are best reviewed individually

@rust-highfive
Copy link
Collaborator

r? @cramertj

(rust_highfive has picked a reviewer for you, use r? to override)

@rust-highfive rust-highfive added the S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. label Jun 20, 2018
@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
[00:49:12] ....................................................................................................
[00:49:15] ....................................................................................................
[00:49:19] ....................................................................................................
[00:49:22] ....................................................................................................
[00:49:27] ...........................................................F........................................
[00:49:38] ....................................................................................................
[00:49:44] ....................................................................................................
[00:49:50] ......i..............................................................................i..............
[00:49:55] ....................................................................................................
---
[00:50:14] 
[00:50:14] ---- [ui] ui/impl-trait/auto-trait-leak.rs stdout ----
[00:50:14] diff of stderr:
[00:50:14] 
[00:50:14] - error[E0391]: cycle detected when processing `cycle1::{{exist-impl-Trait}}`
[00:50:14] + error[E0391]: cycle detected when processing `cycle1::{{impl-Trait}}`
[00:50:14] 3    |
[00:50:14] 3    |
[00:50:14] 4 LL | fn cycle1() -> impl Clone {
[00:50:14] 
[00:50:14] 10 LL | fn cycle1() -> impl Clone {
[00:50:14] 11    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[00:50:14] 12 note: ...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...
[00:50:14] - note: ...which requires processing `cycle2::{{exist-impl-Trait}}`...
[00:50:14] + note: ...which requires processing `cycle2::{{impl-Trait}}`...
[00:50:14] 15    |
[00:50:14] 15    |
[00:50:14] 16 LL | fn cycle2() -> impl Clone {
[00:50:14] 
[00:50:14] 21 LL | fn cycle2() -> impl Clone {
[00:50:14] 22    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[00:50:14] 23 note: ...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...
[00:50:14] -    = note: ...which again requires processing `cycle1::{{exist-impl-Trait}}`, completing the cycle
[00:50:14] +    = note: ...which again requires processing `cycle1::{{impl-Trait}}`, completing the cycle
[00:50:14] 25 
[00:50:14] - error[E0391]: cycle detected when processing `cycle1::{{exist-impl-Trait}}`
[00:50:14] + error[E0391]: cycle detected when processing `cycle1::{{impl-Trait}}`
[00:50:14] 28    |
[00:50:14] 28    |
[00:50:14] 29 LL | fn cycle1() -> impl Clone {
[00:50:14] 
[00:50:14] 35 LL | fn cycle1() -> impl Clone {
[00:50:14] 36    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[00:50:14] 37 note: ...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...
[00:50:14] - note: ...which requires processing `cycle2::{{exist-impl-Trait}}`...
[00:50:14] + note: ...which requires processing `cycle2::{{impl-Trait}}`...
[00:50:14] 40    |
[00:50:14] 40    |
[00:50:14] 41 LL | fn cycle2() -> impl Clone {
[00:50:14] 45    |
[00:50:14] 45    |
[00:50:14] 46 LL | fn cycle2() -> impl Clone {
[00:50:14] 47    | ^^^^^^^^^^^^^^^^^^^^^^^^^
[00:50:14] -    = note: ...which again requires processing `cycle1::{{exist-impl-Trait}}`, completing the cycle
[00:50:14] +    = note: ...which again requires processing `cycle1::{{impl-Trait}}`, completing the cycle
[00:50:14] 49 
[00:50:14] 50 error[E0277]: the trait bound `std::rc::Rc<std::string::String>: std::marker::Send` is not satisfied in `impl std::clone::Clone`
[00:50:14] 
[00:50:14] 
[00:50:14] The actual stderr differed from the expected stderr.
[00:50:14] The actual stderr differed from the expected stderr.
[00:50:14] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/impl-trait/auto-trait-leak/auto-trait-leak.stderr
[00:50:14] To update references, rerun the tests and pass the `--bless` flag
[00:50:14] To only update this specific test, also pass `--test-args impl-trait/auto-trait-leak.rs`
[00:50:14] error: 1 errors occurred comparing output.
[00:50:14] status: exit code: 101
[00:50:14] status: exit code: 101
[00:50:14] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/impl-trait/auto-trait-leak.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/impl-trait/auto-trait-leak/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/impl-trait/auto-trait-leak/auxiliary" "-A" "unused"
[00:50:14] ------------------------------------------
[00:50:14] 
[00:50:14] ------------------------------------------
[00:50:14] stderr:
[00:50:14] stderr:
[00:50:14] ------------------------------------------
[00:50:14] {"message":"cycle detected when processing `cycle1::{{impl-Trait}}`","code":{"code":"E0391","explanation":"\nThis error indicates that some types or traits depend on each other\nand therefore cannot be constructed.\n\nThe following example contains a circular dependency between two traits:\n\n```compile_fail,E0391\ntrait FirstTrait : SecondTrait {\n\n}\n\ntrait SecondTrait : FirstTrait {\n\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":754,"byte_end":764,"line_start":24,"line_end":24,"column_start":16,"column_end":26,"is_primary":true,"text":[{"text":"fn cycle1() -> impl Clone {","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":754,"byte_end":764,"line_start":24,"line_end":24,"column_start":16,"column_end":26,"is_primary":false,"text":[{"text":"fn cycle1() -> impl Clone {","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"desugaring of `existental type`","def_site_span":{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":754,"byte_end":764,"line_start":24,"line_end":24,"column_start":16,"column_end":26,"is_primary":false,"text":[{"text":"fn cycle1() -> impl Clone {","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"...which requires processing `cycle1`...","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":739,"byte_end":764,"line_start":24,"line_end":24,"column_start":1,"column_end":26,"is_primary":true,"text":[{"text":"fn cycle1() -> impl Clone {","highlight_start":1,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"// Copyright 2016 The Rust Project Developers. See the COPYRIGHT","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"...which requires processing `cycle2::{{impl-Trait}}`...","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":938,"byte_end":948,"line_start":33,"line_end":33,"column_start":16,"column_end":26,"is_primary":true,"text":[{"text":"fn cycle2() -> impl Clone {","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":938,"byte_end":948,"line_start":33,"line_end":33,"column_start":16,"column_end":26,"is_primary":false,"text":[{"text":"fn cycle2() -> impl Clone {","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"desugaring of `existental type`","def_site_span":{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":938,"byte_end":948,"line_start":33,"line_end":33,"column_start":16,"column_end":26,"is_primary":false,"text":[{"text":"fn cycle2() -> impl Clone {","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"...which requires processing `cycle2`...","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":923,"byte_end":948,"line_start":33,"line_end":33,"column_start":1,"column_end":26,"is_primary":true,"text":[{"text":"fn cycle2() -> impl Clone {","highlight_start":1,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"// Copyright 2016 The Rust Project Developers. See the COPYRIGHT","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"...which again requires processing `cycle1::{{impl-Trait}}`, completing the cycle","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0391]: cycle detected when processing `cycle1::{{impl-Trait}}`\n  --> /checkout/src/test/ui/impl-trait/auto-trait-leak.rs:24:16\n   |\nLL | fn cycle1() -> impl Clone {\n   |                ^^^^^^^^^^\n   |\nnote: ...which requires processing `cycle1`...\n  --> /checkout/src/test/ui/impl-trait/auto-trait-leak.rs:24:1\n   |\nLL | fn cycle1() -> impl Clone {\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^\nnote: ...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...\nnote: ...which requires processing `cycle2::{{impl-Trait}}`...\n  --> /checkout/src/test/ui/impl-trait/auto-trait-leak.rs:33:16\n   |\nLL | fn cycle2() -> impl Clone {\n   |                ^^^^^^^^^^\nnote: ...which requires processing `cycle2`...\n  --> /checkout/src/test/ui/impl-trait/auto-trait-leak.rs:33:1\n   |\nLL | fn cycle2() -> impl Clone {\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^\nnote: ...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...\n   = note: ...which again requires processing `cycle1::{{impl-Trait}}`, completing the cycle\n\n"}
[00:50:14] {"message":"cycle detected when processing `cycle1::{{impl-Trait}}`","code":{"code":"E0391","explanation":"\nThis error indicates that some types or traits depend on each other\nand therefore cannot be constructed.\n\nThe following example contains a circular dependency between two traits:\n\n```compile_fail,E0391\ntrait FirstTrait : SecondTrait {\n\n}\n\ntrait SecondTrait : FirstTrait {\n\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":754,"byte_end":764,"line_start":24,"line_end":24,"column_start":16,"column_end":26,"is_primary":true,"text":[{"text":"fn cycle1() -> impl Clone {","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":754,"byte_end":764,"line_start":24,"line_end":24,"column_start":16,"column_end":26,"is_primary":false,"text":[{"text":"fn cycle1() -> impl Clone {","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"desugaring of `existental type`","def_site_span":{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":754,"byte_end":764,"line_start":24,"line_end":24,"column_start":16,"column_end":26,"is_primary":false,"text":[{"text":"fn cycle1() -> impl Clone {","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[{"message":"...which requires processing `cycle1`...","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":739,"byte_end":764,"line_start":24,"line_end":24,"column_start":1,"column_end":26,"is_primary":true,"text":[{"text":"fn cycle1() -> impl Clone {","highlight_start":1,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"// Copyright 2016 The Rust Project Developers. See the COPYRIGHT","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"...which requires processing `cycle2::{{impl-Trait}}`...","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":938,"byte_end":948,"line_start":33,"line_end":33,"column_start":16,"column_end":26,"is_primary":true,"text":[{"text":"fn cycle2() -> impl Clone {","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":{"span":{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":938,"byte_end":948,"line_start":33,"line_end":33,"column_start":16,"column_end":26,"is_primary":false,"text":[{"text":"fn cycle2() -> impl Clone {","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null},"macro_decl_name":"desugaring of `existental type`","def_site_span":{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":938,"byte_end":948,"line_start":33,"line_end":33,"column_start":16,"column_end":26,"is_primary":false,"text":[{"text":"fn cycle2() -> impl Clone {","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}}}],"children":[],"rendered":null},{"message":"...which requires processing `cycle2`...","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":923,"byte_end":948,"line_start":33,"line_end":33,"column_start":1,"column_end":26,"is_primary":true,"text":[{"text":"fn cycle2() -> impl Clone {","highlight_start":1,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null},{"message":"...which again requires processing `cycle1::{{impl-Trait}}`, completing the cycle","code":null,"level":"note","spans":[],"children":[],"rendered":null}],"rendered":"error[E0391]: cycle detected when processing `cycle1::{{impl-Trait}}`\n  --> /checkout/src/test/ui/impl-trait/auto-trait-leak.rs:24:16\n   |\nLL | fn cycle1() -> impl Clone {\n   |                ^^^^^^^^^^\n   |\nnote: ...which requires processing `cycle1`...\n  --> /checkout/src/test/ui/impl-trait/auto-trait-leak.rs:24:1\n   |\nLL | fn cycle1() -> impl Clone {\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^\nnote: ...which requires evaluating trait selection obligation `impl std::clone::Clone: std::marker::Send`...\nnote: ...which requires processing `cycle2::{{impl-Trait}}`...\n  --> /checkout/src/test/ui/impl-trait/auto-trait-leak.rs:33:16\n   |\nLL | fn cycle2() -> impl Clone {\n   |                ^^^^^^^^^^\nnote: ...which requires processing `cycle2`...\n  --> /checkout/src/test/ui/impl-trait/auto-trait-leak.rs:33:1\n   |\nLL | fn cycle2() -> impl Clone {\n   | ^^^^^^^^^^^^^^^^^^^^^^^^^\n   = note: ...which again requires processing `cycle1::{{impl-Trait}}`, completing the cycle\n\n"}
[00:50:14] {"message":"the trait bound `std::rc::Rc<std::string::String>: std::marker::Send` is not satisfied in `impl std::clone::Clone`","code":{"code":"E0277","explanation":"\nYou tried to use a type which doesn't implement some trait in a place which\nexpected that trait. Erroneous code example:\n\n```compile_fail,E0277\n// here we declare the Foo trait with a bar method\ntrait Foo {\n    fn bar(&self);\n}\n\n// we now declare a function which takes an object implementing the Foo trait\nfn some_func<T: Foo>(foo: T) {\n    foo.bar();\n}\n\nfn main() {\n    // we now call the method with the i32 type, which doesn't implement\n    // the Foo trait\n    some_func(5i32); // error: the trait bound `i32 : Foo` is not satisfied\n}\n```\n\nIn order to fix this error, verify that the type you're using does implement\nthe trait. Example:\n\n```\ntrait Foo {\n    fn bar(&self);\n}\n\nfn some_func<T: Foo>(foo: T) {\n    foo.bar(); // we can now use this method since i32 implements the\n               // Foo trait\n}\n\n// we implement the trait on the i32 type\nimpl Foo for i32 {\n    fn bar(&self) {}\n}\n\nfn main() {\n    some_func(5i32); // ok!\n}\n```\n\nOr in a generic context, an erroneous code example would look like:\n\n```compile_fail,E0277\nfn some_func<T>(foo: T) {\n    println!(\"{:?}\", foo); // error: the trait `core::fmt::Debug` is not\n                           //        implemented for the type `T`\n}\n\nfn main() {\n    // We now call the method with the i32 type,\n    // which *does* implement the Debug trait.\n    some_func(5i32);\n}\n```\n\nNote that the error here is in the definition of the generic function: Although\nwe only call it with a parameter that does implement `Debug`, the compiler\nstill rejects the function: It must work with all possible input types. In\norder to make this example compile, we need to restrict the generic type we're\naccepting:\n\n```\nuse std::fmt;\n\n// Restrict the input type to types that implement Debug.\nfn some_func<T: fmt::Debug>(foo: T) {\n    println!(\"{:?}\", foo);\n}\n\nfn main() {\n    // Calling the method is still fine, as i32 implements Debug.\n    some_func(5i32);\n\n    // This would fail to compile now:\n    // struct WithoutDebug;\n    // some_func(WithoutDebug);\n}\n```\n\nRust only looks at the signature of the called function, as such it must\nalready specify all requirements that will be used for every type parameter.\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":831,"byte_end":835,"line_start":27,"line_end":27,"column_start":5,"column_end":9,"is_primary":true,"text":[{"text":"    send(cycle2().clone());","highlight_start":5,"highlight_end":9}],"label":"`std::rc::Rc<std::string::String>` cannot be sent between threads safely","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"within `impl std::clone::Clone`, the trait `std::marker::Send` is not implemented for `std::rc::Rc<std::string::String>`","code":null,"level":"help","spans":[],"children":[],"rendered":null},{"message":"required because it appears within the type `impl std::clone::Clone`","code":null,"level":"note","spans":[],"children":[],"rendered":null},{"message":"required by `send`","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/impl-trait/auto-trait-leak.rs","byte_start":533,"byte_end":555,"line_start":16,"line_end":16,"column_start":1,"column_end":23,"is_primary":true,"text":[{"text":"fn send<T: Send>(_: T) {}","highlight_start":1,"highlight_end":23}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0277]: the trait bound `std::rc::Rc<std::string::String>: std::marker::Send` is tered out
[00:50:14] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:498:22
[00:50:14] 
[00:50:14] 
[00:50:14] 
[00:50:14] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-3.9/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options " "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "3.9.1\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[00:50:14] 
[00:50:14] 
[00:50:14] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:50:14] Build completed unsuccessfully in 0:02:14
[00:50:14] Build completed unsuccessfully in 0:02:14
[00:50:14] make: *** [check] Error 1
[00:50:14] Makefile:58: recipe for target 'check' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:00398752
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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

@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
[00:55:16] ....................................................................................................
[00:55:22] ......................................................................................i.............
[00:55:28] ...............................................ii.iii...............................................
[00:55:33] ..............................................................................i.....................
[00:55:38] .......................i.............................F..............................................
[00:55:47] ....................................................................................................
[00:55:53] ....................................................................................................
[00:55:58] ....................................................................................................
[00:56:05] ....................................................................................................
[00:56:05] ....................................................................................................
[00:56:11] ....................................................................................................
[00:56:18] ....................................................................................................
[00:56:24] ...i................................................................................................
[00:56:30] ..i..ii.............................................................................................
[00:56:38] ....................................................................................................
[00:56:44] ........F...........................................................................................
[00:56:53] ..............................i.....................................................................
[00:56:59] ....................................................................................................
[00:57:03] ....................................................................................................
[00:57:07] ....................................................................................................
[00:57:07] ....................................................................................................
[00:57:09] ..........................
[00:57:09] failures:
[00:57:09] 
[00:57:09] ---- [compile-fail] compile-fail/impl-trait/where-allowed.rs stdout ----
[00:57:09] 
[00:57:09] error: compiler panicked
[00:57:09] status: exit code: 101
[00:57:09] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/impl-trait/where-allowed.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/impl-trait/where-allowed/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/impl-trait/where-allowed/auxiliary" "-A" "unused"
[00:57:09] ------------------------------------------
[00:57:09] 
[00:57:09] ------------------------------------------
[00:57:09] stderr:
[00:57:09] stderr:
[00:57:09] ------------------------------------------
[00:57:09] {"message":"nested `impl Trait` is not allowed","code":{"code":"E0666","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":2268,"byte_end":2287,"line_start":60,"line_end":60,"column_start":43,"column_end":62,"is_primary":false,"text":[{"text":"fn in_impl_Fn_parameter_in_parameters(_: &impl Fn(impl Debug)) { panic!() }","highlight_start":43,"highlight_end":62}],"label":"outer `impl Trait`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":2276,"byte_end":2286,"line_start":60,"line_end":60,"column_start":51,"column_end":61,"is_primary":true,"text":[{"text":"fn in_impl_Fn_parameter_in_parameters(_: &impl Fn(impl Debug)) { panic!() }","highlight_start":51,"highlight_end":61}],"label":"nested `impl Trait` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0666]: nested `impl Trait` is not allowed\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:60:51\n   |\nLL | fn in_impl_Fn_parameter_in_parameters(_: &impl Fn(impl Debug)) { panic!() }\n   |                                           --------^^^^^^^^^^-\n   |                                           |       |\n   |                                           |       nested `impl Trait` here\n   |                                           outer `impl Trait`\n\n"}
[00:57:09] {"message":"nested `impl Trait` is not allowed","code":{"code":"E0666","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":2682,"byte_end":2701,"line_start":69,"line_end":69,"column_start":49,"column_end":68,"is_primary":false,"text":[{"text":"fn in_impl_Fn_parameter_in_return() -> &'static impl Fn(impl Debug) { panic!() }","highlight_start":49,"highlight_end":68}],"label":"outer `impl Trait`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":2690,"byte_end":2700,"line_start":69,"line_end":69,"column_start":57,"column_end":67,"is_primary":true,"text":[{"text":"fn in_impl_Fn_parameter_in_return() -> &'static impl Fn(impl Debug) { panic!() }","highlight_start":57,"highlight_end":67}],"label":"nested `impl Trait` here","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0666]: nested `impl Trait` is not allowed\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:69:57\n   |\nLL | fn in_impl_Fn_parameter_in_return() -> &'static impl Fn(impl Debug) { panic!() }\n   |                                                 --------^^^^^^^^^^-\n   |                                                 |       |\n   |                                                 |       nested `impl Trait` here\n   |                                                 outer `impl Trait`\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":869,"byte_end":879,"line_start":28,"line_end":28,"column_start":40,"column_end":50,"is_primary":true,"text":[{"text":"fn in_fn_parameter_in_parameters(_: fn(impl Debug)) { panic!() }","highlight_start":40,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:28:40\n   |\nLL | fn in_fn_parameter_in_parameters(_: fn(impl Debug)) { panic!() }\n   |                                        ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":1040,"byte_end":1050,"line_start":32,"line_end":32,"column_start":42,"column_end":52,"is_primary":true,"text":[{"text":"fn in_fn_return_in_parameters(_: fn() -> impl Debug) { panic!() }","highlight_start":42,"highlight_end":52}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:32:42\n   |\nLL | fn in_fn_return_in_parameters(_: fn() -> impl Debug) { panic!() }\n   |                                          ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":1206,"byte_end":1216,"line_start":36,"line_end":36,"column_start":38,"column_end":48,"is_primary":true,"text":[{"text":"fn in_fn_parameter_in_return() -> fn(impl Debug) { panic!() }","highlight_start":38,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:36:38\n   |\nLL | fn in_fn_parameter_in_return() -> fn(impl Debug) { panic!() }\n   |                                      ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":1374,"byte_end":1384,"line_start":40,"line_end":40,"column_start":40,"column_end":50,"is_primary":true,"text":[{"text":"fn in_fn_return_in_return() -> fn() -> impl Debug { panic!() }","highlight_start":40,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:40:40\n   |\nLL | fn in_fn_return_in_return() -> fn() -> impl Debug { panic!() }\n   |                                        ^^^^^^^^^^\n\n"}
[00:57:09] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:498:22
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":1550,"byte_end":1560,"line_start":44,"line_end":44,"column_start":49,"column_end":59,"is_primary":true,"text":[{"text":"fn in_dyn_Fn_parameter_in_parameters(_: &dyn Fn(impl Debug)) { panic!() }","highlight_start":49,"highlight_end":59}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:44:49\n   |\nLL | fn in_dyn_Fn_parameter_in_parameters(_: &dyn Fn(impl Debug)) { panic!() }\n   |                                                 ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":1730,"byte_end":1740,"line_start":48,"line_end":48,"column_start":51,"column_end":61,"is_primary":true,"text":[{"text":"fn in_dyn_Fn_return_in_parameters(_: &dyn Fn() -> impl Debug) { panic!() }","highlight_start":51,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:48:51\n   |\nLL | fn in_dyn_Fn_return_in_parameters(_: &dyn Fn() -> impl Debug) { panic!() }\n   |                                                   ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":1913,"byte_end":1923,"line_start":52,"line_end":52,"column_start":55,"column_end":65,"is_primary":true,"text":[{"text":"fn in_dyn_Fn_parameter_in_return() -> &'static dyn Fn(impl Debug) { panic!() }","highlight_start":55,"highlight_end":65}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:52:55\n   |\nLL | fn in_dyn_Fn_parameter_in_return() -> &'static dyn Fn(impl Debug) { panic!() }\n   |                                                       ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":2098,"byte_end":2108,"line_start":56,"line_end":56,"column_start":57,"column_end":67,"is_primary":true,"text":[{"text":"fn in_dyn_Fn_return_in_return() -> &'static dyn Fn() -> impl Debug { panic!() }","highlight_start":57,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:56:57\n   |\nLL | fn in_dyn_Fn_return_in_return() -> &'static dyn Fn() -> impl Debug { panic!() }\n   |                                                         ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":2276,"byte_end":2286,"line_start":60,"line_end":60,"column_start":51,"column_end":61,"is_primary":true,"text":[{"text":"fn in_impl_Fn_parameter_in_parameters(_: &impl Fn(impl Debug)) { panic!() }","highlight_start":51,"highlight_end":61}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:60:51\n   |\nLL | fn in_impl_Fn_parameter_in_parameters(_: &impl Fn(impl Debug)) { panic!() }\n   |                                                   ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":2505,"byte_end":2515,"line_start":65,"line_end":65,"column_start":53,"column_end":63,"is_primary":true,"text":[{"text":"fn in_impl_Fn_return_in_parameters(_: &impl Fn() -> impl Debug) { panic!() }","highlight_start":53,"highlight_end":63}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:65:53\n   |\nLL | fn in_impl_Fn_return_in_parameters(_: &impl Fn() -> impl Debug) { panic!() }\n   |                                                     ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":2690,"byte_end":2700,"line_start":69,"line_end":69,"column_start":57,"column_end":67,"is_primary":true,"text":[{"text":"fn in_impl_Fn_parameter_in_return() -> &'static impl Fn(impl Debug) { panic!() }","highlight_start":57,"highlight_end":67}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:69:57\n   |\nLL | fn in_impl_Fn_parameter_in_return() -> &'static impl Fn(impl Debug) { panic!() }\n   |                                                         ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":2924,"byte_end":2934,"line_start":74,"line_end":74,"column_start":59,"column_end":69,"is_primary":true,"text":[{"text":"fn in_impl_Fn_return_in_return() -> &'static impl Fn() -> impl Debug { panic!() }","highlight_start":59,"highlight_end":69}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:74:59\n   |\nLL | fn in_impl_Fn_return_in_return() -> &'static impl Fn() -> impl Debug { panic!() }\n   |                                                           ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":3089,"byte_end":3099,"line_start":78,"line_end":78,"column_start":38,"column_end":48,"is_primary":true,"text":[{"text":"fn in_Fn_parameter_in_generics<F: Fn(impl Debug)> (_: F) { panic!() }","highlight_start":38,"highlight_end":48}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:78:38\n   |\nLL | fn in_Fn_parameter_in_generics<F: Fn(impl Debug)> (_: F) { panic!() }\n   |                                      ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":3265,"byte_end":3275,"line_start":82,"line_end":82,"column_start":40,"column_end":50,"is_primary":true,"text":[{"text":"fn in_Fn_return_in_generics<F: Fn() -> impl Debug> (_: F) { panic!() }","highlight_start":40,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:82:40\n   |\nLL | fn in_Fn_return_in_generics<F: Fn() -> impl Debug> (_: F) { panic!() }\n   |                                        ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":3668,"byte_end":3678,"line_start":95,"line_end":95,"column_start":32,"column_end":42,"is_primary":true,"text":[{"text":"struct InBraceStructField { x: impl Debug }","highlight_start":32,"highlight_end":42}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:95:32\n   |\nLL | struct InBraceStructField { x: impl Debug }\n   |                                ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":3825,"byte_end":3835,"line_start":99,"line_end":99,"column_start":41,"column_end":51,"is_primary":true,"text":[{"text":"struct InAdtInBraceStructField { x: Vec<impl Debug> }","highlight_start":41,"highlight_end":51}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:99:41\n   |\nLL | struct InAdtInBraceStructField { x: Vec<impl Debug> }\n   |                                         ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":3969,"byte_end":3979,"line_start":103,"line_end":103,"column_start":27,"column_end":37,"is_primary":true,"text":[{"text":"struct InTupleStructField(impl Debug);","highlight_start":27,"highlight_end":37}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:103:27\n   |\nLL | struct InTupleStructField(impl Debug);\n   |                           ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":4124,"byte_end":4134,"line_start":108,"line_end":108,"column_start":25,"column_end":35,"is_primary":true,"text":[{"text":"    InBraceVariant { x: impl Debug },","highlight_start":25,"highlight_end":35}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:108:25\n   |\nLL |     InBraceVariant { x: impl Debug },\n   |                         ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":4250,"byte_end":4260,"line_start":110,"line_end":110,"column_start":20,"column_end":30,"is_primary":true,"text":[{"text":"    InTupleVariant(impl Debug),","highlight_start":20,"highlight_end":30}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:110:20\n   |\nLL |     InTupleVariant(impl Debug),\n   |                    ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":4502,"byte_end":4512,"line_start":121,"line_end":121,"column_start":23,"column_end":33,"is_primary":true,"text":[{"text":"    fn in_return() -> impl Debug;","highlight_start":23,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:121:23\n   |\nLL |     fn in_return() -> impl Debug;\n   |                       ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":4814,"byte_end":4824,"line_start":132,"line_end":132,"column_start":16,"column_end":26,"is_primary":true,"text":[{"text":"    type Out = impl Debug;","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:132:16\n   |\nLL |     type Out = impl Debug;\n   |                ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":5019,"byte_end":5029,"line_start":138,"line_end":138,"column_start":34,"column_end":44,"is_primary":true,"text":[{"text":"    fn in_trait_impl_return() -> impl Debug { () }","highlight_start":34,"highlight_end":44}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:138:34\n   |\nLL |     fn in_trait_impl_return() -> impl Debug { () }\n   |                                  ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":5349,"byte_end":5359,"line_start":151,"line_end":151,"column_start":33,"column_end":43,"is_primary":true,"text":[{"text":"    fn in_foreign_parameters(_: impl Debug);","highlight_start":33,"highlight_end":43}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:151:33\n   |\nLL |     fn in_foreign_parameters(_: impl Debug);\n   |                                 ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":5486,"byte_end":5496,"line_start":154,"line_end":154,"column_start":31,"column_end":41,"is_primary":true,"text":[{"text":"    fn in_foreign_return() -> impl Debug;","highlight_start":31,"highlight_end":41}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:154:31\n   |\nLL |     fn in_foreign_return() -> impl Debug;\n   |                               ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":5758,"byte_end":5768,"line_start":167,"line_end":167,"column_start":23,"column_end":33,"is_primary":true,"text":[{"text":"type InTypeAlias<R> = impl Debug;","highlight_start":23,"highlight_end":33}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:167:23\n   |\nLL | type InTypeAlias<R> = impl Debug;\n   |                       ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":5898,"byte_end":5908,"line_start":170,"line_end":170,"column_start":39,"column_end":49,"is_primary":true,"text":[{"text":"type InReturnInTypeAlias<R> = fn() -> impl Debug;","highlight_start":39,"highlight_end":49}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:170:39\n   |\nLL | type InReturnInTypeAlias<R> = fn() -> impl Debug;\n   |                                       ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":6045,"byte_end":6055,"line_start":174,"line_end":174,"column_start":16,"column_end":26,"is_primary":true,"text":[{"text":"impl PartialEq<impl Debug> for () {","highlight_start":16,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:174:16\n   |\nLL | impl PartialEq<impl Debug> for () {\n   |                ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":6215,"byte_end":6225,"line_start":179,"line_end":179,"column_start":24,"column_end":34,"is_primary":true,"text":[{"text":"impl PartialEq<()> for impl Debug {","highlight_start":24,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:179:24\n   |\nLL | impl PartialEq<()> for impl Debug {\n   |                        ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":6361,"byte_end":6371,"line_start":184,"line_end":184,"column_start":6,"column_end":16,"is_primary":true,"text":[{"text":"impl impl Debug {","highlight_start":6,"highlight_end":16}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:184:6\n   |\nLL | impl impl Debug {\n   |      ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":6562,"byte_end":6572,"line_start":190,"line_end":190,"column_start":24,"column_end":34,"is_primary":true,"text":[{"text":"impl InInherentImplAdt<impl Debug> {","highlight_start":24,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:190:24\n   |\nLL | impl InInherentImplAdt<impl Debug> {\n   |                        ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":6737,"byte_end":6747,"line_start":196,"line_end":196,"column_start":11,"column_end":21,"is_primary":true,"text":[{"text":"    where impl Debug: Debug","highlight_start":11,"highlight_end":21}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:196:11\n   |\nLL |     where impl Debug: Debug\n   |           ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":6925,"byte_end":6935,"line_start":203,"line_end":203,"column_start":15,"column_end":25,"is_primary":true,"text":[{"text":"    where Vec<impl Debug>: Debug","highlight_start":15,"highlight_end":25}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:203:15\n   |\nLL |     where Vec<impl Debug>: Debug\n   |               ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":7121,"byte_end":7131,"line_start":210,"line_end":210,"column_start":24,"column_end":34,"is_primary":true,"text":[{"text":"    where T: PartialEq<impl Debug>","highlight_start":24,"highlight_end":34}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:210:24\n   |\nLL |     where T: PartialEq<impl Debug>\n   |                        ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":7300,"byte_end":7310,"line_start":217,"line_end":217,"column_start":17,"column_end":27,"is_primary":true,"text":[{"text":"    where T: Fn(impl Debug)","highlight_start":17,"highlight_end":27}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:217:17\n   |\nLL |     where T: Fn(impl Debug)\n   |                 ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":7481,"byte_end":7491,"line_start":224,"line_end":224,"column_start":22,"column_end":32,"is_primary":true,"text":[{"text":"    where T: Fn() -> impl Debug","highlight_start":22,"highlight_end":32}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:224:22\n   |\nLL |     where T: Fn() -> impl Debug\n   |                      ^^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":7626,"byte_end":7635,"line_start":230,"line_end":230,"column_start":29,"column_end":38,"is_primary":true,"text":[{"text":"    let _in_local_variable: impl Fn() = || {};","highlight_start":29,"highlight_end":38}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:230:29\n   |\nLL |     let _in_local_variable: impl Fn() = || {};\n   |                             ^^^^^^^^^\n\n"}
[00:57:09] {"message":"`impl Trait` not allowed outside of function and inherent method return types","code":{"code":"E0562","explanation":"\nAbstract return types (written `impl Trait` for some trait `Trait`) are only\nallowed as function return types.\n\nErroneous code example:\n\n```compile_fail,E0562\nfn main() {\n    let count_to_ten: impl Iterator<Item=usize> = 0..10;\n    // error: `impl Trait` not allowed outside of function and inherent method\n    //        return types\n    for i in count_to_ten {\n        println!(\"{}\", i);\n    }\n}\n```\n\nMake sure `impl Trait` only appears in return-type position.\n\n```\nfn count_to_n(n: usize) -> impl Iterator<Item=usize> {\n    0..n\n}\n\nfn main() {\n    for i in count_to_n(10) {  // ok!\n        println!(\"{}\", i);\n    }\n}\n```\n\nSee [RFC 1522] for more details.\n\n[RFC 1522]: https://github.com/rust-lang/rfcs/blob/master/text/1522-conservative-impl-trait.md\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/compile-fail/impl-trait/where-allowed.rs","byte_start":7783,"byte_end":7792,"line_start":232,"line_end":232,"column_start":46,"column_end":55,"is_primary":true,"text":[{"text":"    let _in_return_in_local_variable = || -> impl Fn() { || {} };","highlight_start":46,"highlight_end":55}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0562]: `impl Trait` not allowed outside of function and inherent method return types\n  --> /checkout/src/test/compile-fail/impl-trait/where-allowed.rs:232:46\n   |\nLL |     let _in_return_in_local_variable = || -> impl Fn() { || {} };\n   |                                              ^^^^^^^^^\n\n"}
[00:57:09] thread 'main' panicked at 'no entry found for key', libcore/option.rs:960:5
[00:57:09] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:57:09] {"message":"aborting due to 39 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 39 previous errors\n\n"}
[00:57:09] {"message":"Some errors occurred: E0562, E0666.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0562, E0666.\n"}
[00:57:09] {"message":"For more information about an error, try `rustc --explain E0562`.","code":null,"level":"","spans":[],"children":[],"rendered":"For more information about an error, try `rustc --explain E0562`.\n"}
[00:57:09] error: internal compiler error: unexpected panic
[00:57:09] 
[00:57:09] 
[00:57:09] note: the compiler unexpectedly panicked. this is a bug.
[00:57:09] 
[00:57:09] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[00:57:09] note: rustc 1.28.0-dev running on x86_64-unknown-linux-gnu
[00:57:09] 
[00:57:09] 
[00:57:09] note: compiler flags: -Z ui-testing -Z unstable-options -C prefer-dynamic -C rpath
[00:57:09] 
[00:57:09] ------------------------------------------
[00:57:09] 
[00:57:09] thread '[compile-fail] compile-fail/impl-trait/where-allowed.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3139:9
[00:57:09] thread '[compile-fail] compile-fail/impl-trait/where-allowed.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3139:9
[00:57:09] note: Run with `RUST_BACKTRACE=1` for a backtrace.
[00:57:09] 
[00:57:09] ---- [compile-fail] compile-fail/private-type-in-interface.rs stdout ----
[00:57:09] 
[00:57:09] error: /checkout/src/test/compile-fail/private-type-in-interface.rs:37: unexpected error: '37:16: 37:29: type `m::Priv` is private'
[00:57:09] 
[00:57:09] error: /checkout/src/test/compile-fail/private-type-in-interface.rs:38: unexpected error: '38:20: 38:35: type `ext::Priv` is private'
[00:57:09] 
[00:57:09] error: 2 unexpected errors found, 0 expected errors not found
[00:57:09] status: exit code: 101
[00:57:09] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/compile-fail/private-type-in-interface.rs" "--target=x86_64-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/private-type-in-interface/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail/private-type-in-interface/auxiliary" "-A" "unused"
[00:57:09] unexpected errors (from JSON output): [
[00:57:09]     Error {
[00:57:09]         line_num: 37,
[00:57:09]         kind: Some(
[00:57:09]         ),
[00:57:09]         ),
[00:57:09]         msg: "37:16: 37:29: type `m::Priv` is private"
[00:57:09]     Error {
[00:57:09]         line_num: 38,
[00:57:09]         kind: Some(
[00:57:09]             Error
[00:57:09]             Error
[00:57:09]         ),
[00:57:09]         msg: "38:20: 38:35: type `ext::Priv` is private"
[00:57:09] ]
[00:57:09] 
[00:57:09] thread '[compile-fail] compile-fail/private-type-in-interface.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:1284:13
[00:57:09] 
---
[00:57:09] test result: FAILED. 2409 passed; 2 failed; 15 ignored; 0 measured; 0 filtered out
[00:57:09] 
[00:57:09] 
[00:57:09] 
[00:57:09] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/compile-fail" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/compile-fail" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "compile-fail" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-3.9/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options " "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "3.9.1\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[00:57:09] 
[00:57:09] 
[00:57:09] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[00:57:09] Build completed unsuccessfully in 0:14:35
[00:57:09] Build completed unsuccessfully in 0:14:35
[00:57:09] Makefile:58: recipe for target 'check' failed
[00:57:09] make: *** [check] Error 1

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:24836a60
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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

@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
[00:37:45]    Compiling aho-corasick v0.6.4
[00:37:53]    Compiling tempdir v0.3.7
[00:38:29]    Compiling minifier v0.0.11
[00:38:32]    Compiling rustdoc v0.0.0 (file:///checkout/src/librustdoc)
[00:38:38] error[E0599]: no method named `clean` found for type `(&[rustc::hir::Ty], A)` in the current scope
[00:38:38]     --> librustdoc/clean/mod.rs:2169:50
[00:38:38]      |
[00:38:38] 2169 |             inputs: (&self.0.inputs[..], self.1).clean(cx),
[00:38:38]      |
[00:38:38]      = help: items from traits can only be used if the trait is implemented and in scope
[00:38:38]      = help: items from traits can only be used if the trait is implemented and in scope
[00:38:38]      = note: the following trait defines an item `clean`, perhaps you need to implement it:
[00:38:38]              candidate #1: `clean::Clean`
[00:38:38] 
[00:38:39] error[E0599]: no method named `into_inner` found for type `rustc::hir::Ty` in the current scope
[00:38:39]     --> librustdoc/clean/mod.rs:2877:75
[00:38:39]      |
[00:38:39] 2877 |                                         ty_substs.insert(ty_param_def, ty.into_inner().clean(cx));
[00:38:39] 
[00:38:42] error[E0308]: mismatched types
[00:38:42]    --> librustdoc/clean/auto_trait.rs:274:37
[00:38:42]     |
[00:38:42]     |
[00:38:42] 274 |             types: HirVec::from_vec(types),
[00:38:42]     |                                     ^^^^^ expected struct `rustc::hir::Ty`, found struct `syntax::ptr::P`
[00:38:42]     |
[00:38:42]     = note: expected type `std::vec::Vec<rustc::hir::Ty>`
[00:38:42]                found type `std::vec::Vec<syntax::ptr::P<rustc::hir::Ty>>`
[00:38:48] error: aborting due to 3 previous errors
[00:38:48] 
[00:38:48] Some errors occurred: E0308, E0599.
[00:38:48] For more information about an error, try `rustc --explain E0308`.
---
[00:38:48] 
[00:38:48] 
[00:38:48] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap build
[00:38:48] Build completed unsuccessfully in 0:33:38
[00:38:48] Makefile:28: recipe for target 'all' failed
[00:38:48] make: *** [all] Error 1

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:0a675760
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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

@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
[00:39:07]    Compiling aho-corasick v0.6.4
[00:39:15]    Compiling tempfile v3.0.2
[00:39:51]    Compiling minifier v0.0.11
[00:39:53]    Compiling rustdoc v0.0.0 (file:///checkout/src/librustdoc)
[00:40:00] error[E0599]: no method named `clean` found for type `(&[rustc::hir::Ty], A)` in the current scope
[00:40:00]     --> librustdoc/clean/mod.rs:2169:50
[00:40:00]      |
[00:40:00] 2169 |             inputs: (&self.0.inputs[..], self.1).clean(cx),
[00:40:00]      |
[00:40:00]      = help: items from traits can only be used if the trait is implemented and in scope
[00:40:00]      = help: items from traits can only be used if the trait is implemented and in scope
[00:40:00]      = note: the following trait defines an item `clean`, perhaps you need to implement it:
[00:40:00]              candidate #1: `clean::Clean`
[00:40:00] 
[00:40:01] error[E0599]: no method named `into_inner` found for type `rustc::hir::Ty` in the current scope
[00:40:01]     --> librustdoc/clean/mod.rs:2877:75
[00:40:01]      |
[00:40:01] 2877 |                                         ty_substs.insert(ty_param_def, ty.into_inner().clean(cx));
[00:40:01] 
[00:40:04] error[E0308]: mismatched types
[00:40:04]    --> librustdoc/clean/auto_trait.rs:274:37
[00:40:04]     |
[00:40:04]     |
[00:40:04] 274 |             types: HirVec::from_vec(types),
[00:40:04]     |                                     ^^^^^ expected struct `rustc::hir::Ty`, found struct `syntax::ptr::P`
[00:40:04]     |
[00:40:04]     = note: expected type `std::vec::Vec<rustc::hir::Ty>`
[00:40:04]                found type `std::vec::Vec<syntax::ptr::P<rustc::hir::Ty>>`
[00:40:10] error: aborting due to 3 previous errors
[00:40:10] 
[00:40:10] Some errors occurred: E0308, E0599.
[00:40:10] For more information about an error, try `rustc --explain E0308`.
---
[00:40:10] 
[00:40:10] 
[00:40:10] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap build
[00:40:10] Build completed unsuccessfully in 0:33:38
[00:40:10] make: *** [all] Error 1
[00:40:10] Makefile:28: recipe for target 'all' failed

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:06c48b49
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)

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

@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
travis_time:start:test_incremental
Check compiletest suite=incremental mode=incremental (x86_64-unknown-linux-gnu -> x86_64-unknown-linux-gnu)
[01:01:53] 
[01:01:53] running 89 tests
[01:02:14] thread 'main' panicked at 'Some tests failed', tools/compiletest/src/main.rs:498:22
[01:02:14] .........................F...............................................................
[01:02:14] 
[01:02:14] ---- [incremental] incremental/hashes/function_interfaces.rs stdout ----
[01:02:14] 
[01:02:14] 
[01:02:14] error in revision `cfail1`: test compilation failed although it shouldn't!
[01:02:14] status: exit code: 101
[01:02:14] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/incremental/hashes/function_interfaces.rs" "--target=x86_64-unknown-linux-gnu" "--cfg" "cfail1" "-C" "incremental=/checkout/obj/build/x86_64-unknown-linux-gnu/test/incremental/hashes/function_interfaces/function_interfaces.inc" "-Z" "incremental-verify-ich" "-Z" "incremental-queries" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/incremental/hashes/function_interfaces/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "-Z" "query-dep-graph" "-Zincremental-ignore-spans" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/incremental/hashes/function_interfaces/auxiliary"
[01:02:14] ------------------------------------------
[01:02:14] 
[01:02:14] ------------------------------------------
[01:02:14] stderr:
[01:02:14] stderr:
[01:02:14] ------------------------------------------
[01:02:14] thread 'main' panicked at 'assertion failed: !self.node_to_node_index.contains_key(&dep_node)', librustc/dep_graph/graph.rs:1074:9
[01:02:14] 
[01:02:14] error: internal compiler error: unexpected panic
[01:02:14] 
[01:02:14] 
[01:02:14] note: the compiler unexpectedly panicked. this is a bug.
[01:02:14] 
[01:02:14] note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports
[01:02:14] note: rustc 1.28.0-dev running on x86_64-unknown-linux-gnu
[01:02:14] 
[01:02:14] 
[01:02:14] note: compiler flags: -Z incremental-verify-ich -Z incremental-queries -Z ui-testing -Z unstable-options -Z query-dep-graph -Z incremental-ignore-spans -C incremental -C prefer-dynamic -C rpath
[01:02:14] 
[01:02:14] ------------------------------------------
[01:02:14] 
[01:02:14] thread '[incremental] incremental/hashes/function_interfaces.rs' panicked at 'explicit panic', tools/compiletest/src/runtest.rs:3139:9
---
[01:02:14] test result: FAILED. 88 passed; 1 failed; 0 ignored; 0 measured; 0 filtered out
[01:02:14] 
[01:02:14] 
[01:02:14] 
[01:02:14] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/incremental" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/incremental" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "incremental" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-3.9/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options " "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--quiet" "--llvm-version" "3.9.1\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[01:02:14] 
[01:02:14] 
[01:02:14] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:02:14] Build completed unsuccessfully in 0:16:16
[01:02:14] Build completed unsuccessfully in 0:16:16
[01:02:14] Makefile:58: recipe for target 'check' failed
[01:02:14] make: *** [check] Error 1

The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:03a56dfd
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
---
travis_time:end:03ad1970:start=1529603689493976101,finish=1529603689500220931,duration=6244830
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:06993b3d
$ head -30 ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
head: cannot open ‘./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers’ for reading: No such file or directory
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:039160ec
$ dmesg | grep -i kill

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

@bors
Copy link
Contributor

bors commented Jun 21, 2018

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

@oli-obk
Copy link
Contributor Author

oli-obk commented Jun 25, 2018

I'm going to open smaller PRs

@oli-obk oli-obk closed this Jun 25, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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.

4 participants