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

[beta] Rollup backports #60922

Merged
merged 8 commits into from
May 18, 2019
Merged

[beta] Rollup backports #60922

merged 8 commits into from
May 18, 2019

Conversation

pietroalbini
Copy link
Member

@pietroalbini pietroalbini commented May 17, 2019

Rolled up:

Cherry-picked:

r? @ghost

@pietroalbini
Copy link
Member Author

@bors r+ p=20

@bors
Copy link
Contributor

bors commented May 17, 2019

📌 Commit 97fb38aca7b309cdae60bca1d5b22229ff2ceee0 has been approved by pietroalbini

@bors bors added the S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. label May 17, 2019
@bors
Copy link
Contributor

bors commented May 17, 2019

⌛ Testing commit 97fb38aca7b309cdae60bca1d5b22229ff2ceee0 with merge 56090fedf5ada20c82c01f6267e5390abcddd61f...

@bors
Copy link
Contributor

bors commented May 17, 2019

💔 Test failed - checks-travis

@bors bors added S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 17, 2019
@rust-highfive
Copy link
Collaborator

The job dist-i586-gnu-i586-i686-musl 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:59:57] 26 
[00:59:57] 
[00:59:57] 
[00:59:57] The actual stderr differed from the expected stderr.
[00:59:57] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/const-generics/invalid-const-arg-for-type-param/invalid-const-arg-for-type-param.stderr
[00:59:57] To update references, rerun the tests and pass the `--bless` flag
[00:59:57] To only update this specific test, also pass `--test-args const-generics/invalid-const-arg-for-type-param.rs`
[00:59:57] error: 1 errors occurred comparing output.
[00:59:57] status: exit code: 1
[00:59:57] status: exit code: 1
[00:59:57] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs" "-Zthreads=1" "--target=i586-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/const-generics/invalid-const-arg-for-type-param/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/i586-unknown-linux-gnu/native/rust-test-helpers" "-Clinker=cc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/const-generics/invalid-const-arg-for-type-param/auxiliary" "-A" "unused"
[00:59:57] ------------------------------------------
[00:59:57] 
[00:59:57] ------------------------------------------
[00:59:57] stderr:
[00:59:57] stderr:
[00:59:57] ------------------------------------------
[00:59:57] {"message":"wrong number of const arguments: expected 0, found 1","code":{"code":"E0107","explanation":"\nThis error means that an incorrect number of generic arguments were provided:\n\n```compile_fail,E0107\nstruct Foo<T> { x: T }\n\nstruct Bar { x: Foo }             // error: wrong number of type arguments:\n                                  //        expected 1, found 0\nstruct Baz<S, T> { x: Foo<S, T> } // error: wrong number of type arguments:\n                                  //        expected 1, found 2\n\nfn foo<T, U>(x: T, y: U) {}\n\nfn main() {\n    let x: bool = true;\n    foo::<bool>(x);                 // error: wrong number of type arguments:\n                                    //        expected 2, found 1\n    foo::<bool, i32, i32>(x, 2, 4); // error: wrong number of type arguments:\n                                    //        expected 2, found 3\n}\n\nfn f() {}\n\nfn main() {\n    f::<'static>(); // error: wrong number of lifetime arguments:\n                    //        expected 0, found 1\n}\n```\n\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs","byte_start":84,"byte_end":86,"line_start":6,"line_end":6,"column_start":34,"column_end":36,"is_primary":true,"text":[{"text":"    let _: u32 = 5i32.try_into::<32>().unwrap(); //~ ERROR wrong number of const arguments","highlight_start":34,"highlight_end":36}],"label":"unexpected const argument","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0107]: wrong number of const arguments: expected 0, found 1\n  --> /checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs:6:34\n   |\nLL |     let _: u32 = 5i32.try_into::<32>().unwrap(); //~ ERROR wrong number of const arguments\n   |                                  ^^ unexpected const argument\n\n"}
[00:59:57] {"message":"no method named `f` found for type `S` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs","byte_start":28,"byte_end":37,"line_start":3,"line_end":3,"column_start":1,"column_end":10,"is_primary":false,"text":[{"text":"struct S;","highlight_start":1,"highlight_end":10}],"label":"method `f` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs","byte_start":148,"byte_end":149,"line_start":7,"line_end":7,"column_start":7,"column_end":8,"is_primary":true,"text":[{"text":"    S.f::<0>(); //~ ERROR no method named `f`","highlight_start":7,"highlight_end":8}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0599]: no method named `f` found for type `S` in the current scope\n  --> /checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs:7:7\n   |\nLL | struct S;\n   | --------- method `f` not found for this\n...\nLL |     S.f::<0>(); //~ ERROR no method named `f`\n   |       ^\n\n"}
[00:59:57] {"message":"wrong number of const arguments: expected 0, found 1","code":{"code":"E0107","explanation":"\nThis error means that an incorrect number of generic arguments were provided:\n\n```compile_fail,E0107\nstruct Foo<T> { x: T }\n\nstruct Bar { x: Foo }             // error: wrong number of type arguments:\n                                  //        expected 1, found 0\nstruct Baz<S, T> { x: Foo<S, T> } // error: wrong number of type arguments:\n                                  //        expected 1, found 2\n\nfn foo<T, U>(x: T, y: U) {}\n\nfn main() {\n    let x: bool = true;\n    foo::<bool>(x);                 // error: wrong number of type arguments:\n                                    //        expected 2, found 1\n    foo::<bool, i32, i32>(x, 2, 4); // error: wrong number of type arguments:\n                                    //        expected 2, found 3\n}\n\nfn f() {}\n\nfn main() {\n    f::<'static>(); // error: wrong number of lifetime arguments:\n                    //        expected 0, found 1\n}\n```\n\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs","byte_start":196,"byte_end":197,"line_start":8,"line_end":8,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":"    S::<0>; //~ ERROR  wrong number of const arguments","highlight_start":9,"highlight_end":10}],"label":"unexpected const argument","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0107]: wrong number of const arguments: expected 0, found 1\n  --> /checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs:8:9\n   |\nLL |     S::<0>; //~ ERROR  wrong number of const arguments\n   |         ^ unexpected const argument\n\n"}
[00:59:57] {"message":"aborting due to 3 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 3 previous errors\n\n"}
[00:59:57] {"message":"Some errors occurred: E0107, E0599.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0107, E0599.\n"}
[00:59:57] 
[00:59:57] ------------------------------------------
[00:59:57] 
[00:59:57] thread '[ui] ui/const-generics/invalid-const-arg-for-type-param.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3425:9
[00:59:57] thread '[ui] ui/const-generics/invalid-const-arg-for-type-param.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3425:9
[00:59:57] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[00:59:57] 
[00:59:57] ---- [ui] ui/const-generics/cannot-infer-type-for-const-param.rs stdout ----
[00:59:57] 
[00:59:57] error: Error: expected failure status (Some(1)) but received status None.
[00:59:57] status: signal: 4
[00:59:57] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/const-generics/cannot-infer-type-for-const-param.rs" "-Zthreads=1" "--target=i586-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/const-generics/cannot-infer-type-for-const-param/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/i586-unknown-linux-gnu/native/rust-test-helpers" "-Clinker=cc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/const-generics/cannot-infer-type-for-const-param/auxiliary" "-A" "unused"
[00:59:57] ------------------------------------------
[00:59:57] 
[00:59:57] ------------------------------------------
[00:59:57] stderr:
[00:59:57] stderr:
[00:59:57] ------------------------------------------
[00:59:57] {"message":"the feature `const_generics` is incomplete and may cause the compiler to crash","code":null,"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/const-generics/cannot-infer-type-for-const-param.rs","byte_start":11,"byte_end":25,"line_start":1,"line_end":1,"column_start":12,"column_end":26,"is_primary":true,"text":[{"text":"#![feature(const_generics)]","highlight_start":12,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: the feature `const_generics` is incomplete and may cause the compiler to crash\n  --> /checkout/src/test/ui/const-generics/cannot-infer-type-for-const-param.rs:1:12\n   |\nLL | #![feature(const_generics)]\n   |            ^^^^^^^^^^^^^^\n\n"}
[00:59:57] thread 'rustc' panicked at 'not yet implemented', src/librustc/ty/relate.rs:707:17
[00:59:57] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[00:59:57] {"message":"unexpected const parent path def Ctor(DefId(0/1:9 ~ cannot_infer_type_for_const_param[317d]::Foo[0]::{{constructor}}[0]), Struct, Fn)","code":null,"level":"error: internal compiler error","spans":[{"file_name":"/checkout/src/test/ui/const-generics/cannot-infer-type-for-const-param.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"#![feature(const_generics)]","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: internal compiler error: unexpected const parent path def Ctor(DefId(0/1:9 ~ cannot_infer_type_for_const_param[317d]::Foo[0]::{{constructor}}[0]), Struct, Fn)\n\n"}
[00:59:57] thread 'rustc' panicked at 'no errors encountered even though `delay_span_bug` issued', src/librustc_errors/lib.rs:354:17
[00:59:57] stack backtrace:
[00:59:57]    0:     0x7f5840b84003 - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::h6534c233ca93623b
[00:59:57]                                at src/libstd/sys/unix/backtrace/tracing/gcc_s.rs:39
[00:59:57]    1:     0x7f5840b7bcdb - std::sys_common::backtrace::_print::h127e98e74bbf84b1
[00:59:57]                                at src/libstd/sys_common/backtrace.rs:71
[00:59:57]    2:     0x7f5840b80266 - std::panicking::default_hook::{{closure}}::h9f2f0a13f91ccee1
[00:59:57]                                at src/libstd/sys_common/backtrace.rs:59
[00:59:57]                                at src/libstd/panicking.rs:197
[00:59:57]    3:     0x7f5840b7fff9 - std::panicking::default_hook::hdbeb7142e1c5d073
[00:59:57]                                at src/libstd/panicking.rs:211
[00:59:57]    4:     0x7f583e794ef0 - rustc::util::common::panic_hook::h535d18f805e65720
[00:59:57]    5:     0x7f5840b80a58 - std::panicking::rust_panic_with_hook::ha2b8d09f46a27277
[00:59:57]                                at src/libstd/panicking.rs:478
[00:59:57]    6:     0x7f583d3a5274 - std::panicking::begin_panic::hd495adf6beba5efd
[00:59:57]    7:     0x7f583d3bce44 - <rustc_errors::Handler as core::ops::drop::Drop>::drop::he75fa11a3a53cd47
[00:59:57]    8:     0x7f5840e9eb11 - core::ptr::real_drop_in_place::h58a2cb47f278e9ad
[00:59:57]    9:     0x7f5840ea71f3 - <alloc::rc::Rc<T> as core::ops::drop::Drop>::drop::h8d154aa15991c3a4
[00:59:57]   10:     0x7f5840e570fb - core::ptr::real_drop_in_place::h3e1ba22969d7e435
[00:59:57]   11:     0x7f5840e54448 - rustc_interface::interface::run_compiler_in_existing_thread_pool::h82ad489bcd1ccdb6
[00:59:57]   12:     0x7f5840e35ee3 - std::thread::local::LocalKey<T>::with::hf1e38a84c0007964
[00:59:57]   13:     0x7f5840e99e64 - scoped_tls::ScopedKey<T>::set::h19abc942033e0ec1
[00:59:57]   14:     0x7f5840ecab6f - syntax::with_globals::hc702a66bb1967a40
[00:59:57]   15:     0x7f5840e55137 - std::sys_common::backtrace::__rust_begin_short_backtrace::hada489d07fa91000
[00:59:57]   16:     0x7f5840b915b9 - __rust_maybe_catch_panic
[00:59:57]                                at src/libpanic_unwind/lib.rs:87
[00:59:57]   17:     0x7f5840e55bf8 - core::ops::function::FnOnce::call_once{{vtable.shim}}::h135a68b86be043b0
[00:59:57]   18:     0x7f5840b62fbe - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::hea0fbfb5709bbc5c
[00:59:57]                                at /rustc/56090fedf5ada20c82c01f6267e5390abcddd61f/src/liballoc/boxed.rs:702
[00:59:57]   19:     0x7f5840b9031f - std::sys::unix::thread::Thread::new::thread_start::h5932fc92cd4e83b7
[00:59:57]                                at /rustc/56090fedf5ada20c82c01f6267e5390abcddd61f/src/liballoc/boxed.rs:702
[00:59:57]                                at src/libstd/sys_common/thread.rs:14
[00:59:57]                                at src/libstd/sys/unix/thread.rs:80
[00:59:57]   20:     0x7f583c6a16b9 - start_thread
[00:59:57]   21:     0x7f584085541c - clone
[00:59:57]   22:                0x0 - <unknown>
[00:59:57] thread panicked while panicking. aborting.
[00:59:57] ------------------------------------------
[00:59:57] 
[00:59:57] thread '[ui] ui/const-generics/cannot-infer-type-for-const-param.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3425:9
[00:59:57] 
---
[00:59:57] 
[00:59:57] 
[00:59:57] The actual stderr differed from the expected stderr.
[00:59:57] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-60283/issue-60283.stderr
[00:59:57] To update references, rerun the tests and pass the `--bless` flag
[00:59:57] To only update this specific test, also pass `--test-args issues/issue-60283.rs`
[00:59:57] error: 1 errors occurred comparing output.
[00:59:57] status: exit code: 1
[00:59:57] status: exit code: 1
[00:59:57] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issues/issue-60283.rs" "-Zthreads=1" "--target=i586-unknown-linux-gnu" "--error-format" "json" "-Zui-testing" "-C" "prefer-dynamic" "-o" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-60283/a" "-Crpath" "-O" "-Zunstable-options" "-Lnative=/checkout/obj/build/i586-unknown-linux-gnu/native/rust-test-helpers" "-Clinker=cc" "-L" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-60283/auxiliary" "-A" "unused"
[00:59:57] ------------------------------------------
[00:59:57] 
[00:59:57] ------------------------------------------
[00:59:57] stderr:
[00:59:57] stderr:
[00:59:57] ------------------------------------------
[00:59:57] {"message":"type mismatch in function arguments","code":{"code":"E0631","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":215,"byte_end":218,"line_start":14,"line_end":14,"column_start":5,"column_end":8,"is_primary":true,"text":[{"text":"    foo((), drop)","highlight_start":5,"highlight_end":8}],"label":"expected signature of `for<'a> fn(<() as Trait<'a>>::Item) -> _`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":215,"byte_end":218,"line_start":14,"line_end":14,"column_start":5,"column_end":8,"is_primary":true,"text":[{"text":"    foo((), drop)","highlight_start":5,"highlight_end":8}],"label":"found signature of `fn(_) -> _`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"required by `foo`","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":91,"byte_end":197,"line_start":9,"line_end":11,"column_start":1,"column_end":50,"is_primary":true,"text":[{"text":"pub fn foo<T, F>(_: T, _: F)","highlight_start":1,"highlight_end":29},{"text":"where T: for<'a> Trait<'a>,","highlight_start":1,"highlight_end":28},{"text":"      F: for<'a> FnMut(<T as Trait<'a>>::Item) {}","highlight_start":1,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0631]: type mismatch in function arguments\n  --> /checkout/src/test/ui/issues/issue-60283.rs:14:5\n   |\nLL |     foo((), drop)\n   |     ^^^\n   |     |\n   |     expected signature of `for<'a> fn(<() as Trait<'a>>::Item) -> _`\n   |     found signature of `fn(_) -> _`\n   |\nnote: required by `foo`\n  --> /checkout/src/test/ui/issues/issue-60283.rs:9:1\n   |\nLL | / pub fn foo<T, F>(_: T, _: F)\nLL | | where T: for<'a> Trait<'a>,\nLL | |       F: for<'a> FnMut(<T as Trait<'a>>::Item) {}\n   | |_________________________________________________^\n\n"}
[00:59:57] {"message":"type mismatch resolving `for<'a> <fn(_) {std::mem::drop::<_>} as std::ops::FnOnce<(<() as Trait<'a>>::Item,)>>::Output == ()`","code":{"code":"E0271","explanation":"\nThis is because of a type mismatch between the associated type of some\ntrait (e.g., `T::Bar`, where `T` implements `trait Quux { type Bar; }`)\nand another type `U` that is required to be equal to `T::Bar`, but is not.\nExamples follow.\n\nHere is a basic example:\n\n```compile_fail,E0271\ntrait Trait { type AssociatedType; }\n\nfn foo<T>(t: T) where T: Trait<AssociatedType=u32> {\n    println!(\"in foo\");\n}\n\nimpl Trait for i8 { type AssociatedType = &'static str; }\n\nfoo(3_i8);\n```\n\nHere is that same example again, with some explanatory comments:\n\n```compile_fail,E0271\ntrait Trait { type AssociatedType; }\n\nfn foo<T>(t: T) where T: Trait<AssociatedType=u32> {\n//                    ~~~~~~~~ ~~~~~~~~~~~~~~~~~~\n//                        |            |\n//         This says `foo` can         |\n//           only be used with         |\n//              some type that         |\n//         implements `Trait`.         |\n//                                     |\n//                             This says not only must\n//                             `T` be an impl of `Trait`\n//                             but also that the impl\n//                             must assign the type `u32`\n//                             to the associated type.\n    println!(\"in foo\");\n}\n\nimpl Trait for i8 { type AssociatedType = &'static str; }\n//~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n//      |                             |\n// `i8` does have                     |\n// implementation                     |\n// of `Trait`...                      |\n//                     ... but it is an implementation\n//                     that assigns `&'static str` to\n//                     the associated type.\n\nfoo(3_i8);\n// Here, we invoke `foo` with an `i8`, which does not satisfy\n// the constraint `<i8 as Trait>::AssociatedType=u32`, and\n// therefore the type-checker complains with this error code.\n```\n\nTo avoid those issues, you have to make the types match correctly.\nSo we can fix the previous examples like this:\n\n```\n// Basic Example:\ntrait Trait { type AssociatedType; }\n\nfn foo<T>(t: T) where T: Trait<AssociatedType = &'static str> {\n    println!(\"in foo\");\n}\n\nimpl Trait for i8 { type AssociatedType = &'static str; }\n\nfoo(3_i8);\n\n// For-Loop Example:\nlet vs = vec![1, 2, 3, 4];\nfor v in &vs {\n    match v {\n        &1 => {}\n        _ => {}\n    }\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":215,"byte_end":218,"line_start":14,"line_end":14,"column_start":5,"column_end":8,"is_primary":true,"text":[{"text":"    foo((), drop)","highlight_start":5,"highlight_end":8}],"label":"expected bound lifetime parameter 'a, found concrete lifetime","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"required by `foo`","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":91,"byte_end":197,"line_start":9,"line_end":11,"column_start":1,"column_end":50,"is_primary":true,"text":[{"text":"pub fn foo<T, F>(_: T, _: F)","highlight_start":1,"highlight_end":29},{"text":"where T: for<'a> Trait<'a>,","highlight_start":1,"highlight_end":28},{"text":"      F: for<'a> FnMut(<T as Trait<'a>>::Item) {}","highlight_start":1,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0271]: type mismatch resolving `for<'a> <fn(_) {std::mem::drop::<_>} as std::ops::FnOnce<(<() as Trait<'a>>::Item,)>>::Output == ()`\n  --> /checkout/src/test/ui/issues/issue-60283.rs:14:5\n   |\nLL |     foo((), drop)\n   |     ^^^ expected bound lifetime parameter 'a, found concrete lifetime\n   |\nnote: required by `foo`\n  --> /checkout/src/test/ui/issues/issue-60283.rs:9:1\n   |\nLL | / pub fn foo<T, F>(_: T, _: F)\nLL | | where T: for<'a> Trait<'a>,\nLL | |       F: for<'a> FnMut(<T as Trait<'a>>::Item) {}\n   | |_________________________________________________^\n\n"}
[00:59:57] {"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 2 previous errors\n\n"}
[00:59:57] {"message":"Some errors occurred: E0271, E0631.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0271, E0631.\n"}
[00:59:57] 
[00:59:57] ------------------------------------------
[00:59:57] 
[00:59:57] thread '[ui] ui/issues/issue-60283.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3425:9
---
[00:59:57] 
[00:59:57] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:516:22
[00:59:57] 
[00:59:57] 
[00:59:57] 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/i586-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-i586-unknown-linux-gnu" "--mode" "ui" "--target" "i586-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/checkout/obj/build/x86_64-unknown-linux-gnu/llvm/build/bin/FileCheck" "--linker" "cc" "--host-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--target-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/i586-unknown-linux-gnu/native/rust-test-helpers" "--docck-python" "/usr/bin/python2.7" "--lldb-python" "/usr/bin/python2.7" "--gdb" "/usr/bin/gdb" "--llvm-version" "8.0.0-rust-1.35.0-beta\n" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[00:59:57] 
[00:59:57] 
[00:59:57] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test --target i586-unknown-linux-gnu,i686-unknown-linux-musl
[00:59:57] Build completed unsuccessfully in 0:55:40
---
travis_time:end:224166e5:start=1558123314854480043,finish=1558123314863659119,duration=9179076
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:10e5505a
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:start:crashlog
obj/cores/core.2560.!checkout!obj!build!x86_64-unknown-linux-gnu!stage2!bin!rustc
[New LWP 2562]
[New LWP 2560]
warning: Could not load shared library symbols for 7 libraries, e.g. /lib/x86_64-linux-gnu/libc.so.6.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?
Core was generated by `/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc /checkout/src/tes'.
Program terminated with signal SIGILL, Illegal instruction.
#0  0x00007f5840b8087a in rust_panic_with_hook () at /rustc/56090fedf5ada20c82c01f6267e5390abcddd61f/src/libcore/fmt/mod.rs:316
316 /rustc/56090fedf5ada20c82c01f6267e5390abcddd61f/src/libcore/fmt/mod.rs: No such file or directory.
[Current thread is 1 (LWP 2562)]
#0  0x00007f5840b8087a in rust_panic_with_hook () at /rustc/56090fedf5ada20c82c01f6267e5390abcddd61f/src/libcore/fmt/mod.rs:316
#1  0x00007f583d3a5275 in std::panicking::begin_panic::hd495adf6beba5efd () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/../lib/../lib/librustc_errors-ad2f6fc20a077c2c.so
#2  0x00007f583d3bce45 in _$LT$rustc_errors..Handler$u20$as$u20$core..ops..drop..Drop$GT$::drop::he75fa11a3a53cd47 () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/../lib/../lib/librustc_errors-ad2f6fc20a077c2c.so
#3  0x00007f5840e9eb12 in core::ptr::real_drop_in_place::h58a2cb47f278e9ad () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc_driver-5bc0ff73299f07b2.so
#4  0x00007f5840ea71f4 in _$LT$alloc..rc..Rc$LT$T$GT$$u20$as$u20$core..ops..drop..Drop$GT$::drop::h8d154aa15991c3a4 () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc_driver-5bc0ff73299f07b2.so
#5  0x00007f5840e570fc in core::ptr::real_drop_in_place::h3e1ba22969d7e435 () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc_driver-5bc0ff73299f07b2.so
#6  0x00007f5840e54449 in rustc_interface::interface::run_compiler_in_existing_thread_pool::h82ad489bcd1ccdb6 () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc_driver-5bc0ff73299f07b2.so
#7  0x00007f5840e35ee4 in std::thread::local::LocalKey$LT$T$GT$::with::hf1e38a84c0007964 () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc_driver-5bc0ff73299f07b2.so
#8  0x00007f5840e99e65 in scoped_tls::ScopedKey$LT$T$GT$::set::h19abc942033e0ec1 () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc_driver-5bc0ff73299f07b2.so
#9  0x00007f5840ecab70 in syntax::with_globals::hc702a66bb1967a40 () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc_driver-5bc0ff73299f07b2.so
#10 0x00007f5840e55138 in std::sys_common::backtrace::__rust_begin_short_backtrace::hada489d07fa91000 () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc_driver-5bc0ff73299f07b2.so
#11 0x00007f5840b915ba in __rust_maybe_catch_panic () at src/libpanic_unwind/lib.rs:87
#12 0x00007f5840e55bf9 in core::ops::function::FnOnce::call_once$u7b$$u7b$vtable.shim$u7d$$u7d$::h135a68b86be043b0 () from ./checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/../lib/librustc_driver-5bc0ff73299f07b2.so
#13 0x00007f5840b62fbf in call_once<(),FnBox<()>> () at /rustc/56090fedf5ada20c82c01f6267e5390abcddd61f/src/liballoc/boxed.rs:702
#14 0x00007f5840b90320 in call_once<(),alloc::boxed::Box<FnBox<()>>> () at /rustc/56090fedf5ada20c82c01f6267e5390abcddd61f/src/liballoc/boxed.rs:702
#15 start_thread () at src/libstd/sys_common/thread.rs:14
#16 thread_start () at src/libstd/sys/unix/thread.rs:80
#17 0x00007f583c6a16ba in ?? ()
#18 0x0000000000000000 in ?? ()
travis_time:end:10e5505a:start=1558123314870137939,finish=1558123316600458580,duration=1730320641
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:02be272e
travis_time:start:02be272e
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:047777f4
$ 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)

@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
travis_time:end:06baa528:start=1558119585810180565,finish=1558119680379516684,duration=94569336119
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---
[00:00:00] +src/ci/init_repo.sh . /home/travis/rustsrc
[00:01:35] From https://github.com/rust-lang/rust
[00:01:35]  * branch                    beta       -> FETCH_HEAD
[00:01:35]  * branch                    master     -> FETCH_HEAD
[00:01:35]    b982867a734..823a75d9ba3  master     -> origin/master
[00:01:36] warning: 80ee94c1f8640e866840dbcafe76ccdcbfe20fd8:.gitmodules, multiple configurations found for 'submodule.src/llvm.url'. Skipping second one!
[00:01:36] warning: 80ee94c1f8640e866840dbcafe76ccdcbfe20fd8:.gitmodules, multiple configurations found for 'submodule.src/llvm.branch'. Skipping second one!
[00:01:36] warning: 80ee94c1f8640e866840dbcafe76ccdcbfe20fd8:.gitmodules, multiple configurations found for 'submodule.src/rust-installer.path'. Skipping second one!
[00:01:36] warning: 80ee94c1f8640e866840dbcafe76ccdcbfe20fd8:.gitmodules, multiple configurations found for 'submodule.src/rust-installer.url'. Skipping second one!
---
[01:05:04] .................................................................................................... 400/5536
[01:05:07] .................................................................................................... 500/5536
[01:05:11] ...............................................i.................................................... 600/5536
[01:05:15] .................................................................................................... 700/5536
[01:05:19] ........................F..F........................................................................ 800/5536
[01:05:29] ...........i...............i........................................................................ 1000/5536
[01:05:32] ............................................iiiii................................................... 1100/5536
[01:05:36] .................................................................................................... 1200/5536
[01:05:38] .................................................................................................... 1300/5536
---
[01:06:27] .................................................................................................... 2700/5536
[01:06:32] .................................................................................................... 2800/5536
[01:06:36] .................................................................................................... 2900/5536
[01:06:40] .................................................................................................... 3000/5536
[01:06:44] ................................F................................................................... 3100/5536
[01:06:51] .................................................................................................... 3300/5536
[01:06:54] ..................................i................................................................. 3400/5536
[01:06:58] .................................................................................................... 3500/5536
[01:07:01] ........ii...i..ii.................................................................................. 3600/5536
---
[01:08:16] 26 
[01:08:16] 
[01:08:16] 
[01:08:16] The actual stderr differed from the expected stderr.
[01:08:16] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/const-generics/invalid-const-arg-for-type-param/invalid-const-arg-for-type-param.stderr
[01:08:16] To update references, rerun the tests and pass the `--bless` flag
[01:08:16] To only update this specific test, also pass `--test-args const-generics/invalid-const-arg-for-type-param.rs`
[01:08:16] error: 1 errors occurred comparing output.
[01:08:16] status: exit code: 1
[01:08:16] status: exit code: 1
[01:08:16] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs" "-Zthreads=1" "--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/const-generics/invalid-const-arg-for-type-param/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/const-generics/invalid-const-arg-for-type-param/auxiliary" "-A" "unused"
[01:08:16] ------------------------------------------
[01:08:16] 
[01:08:16] ------------------------------------------
[01:08:16] stderr:
[01:08:16] stderr:
[01:08:16] ------------------------------------------
[01:08:16] {"message":"wrong number of const arguments: expected 0, found 1","code":{"code":"E0107","explanation":"\nThis error means that an incorrect number of generic arguments were provided:\n\n```compile_fail,E0107\nstruct Foo<T> { x: T }\n\nstruct Bar { x: Foo }             // error: wrong number of type arguments:\n                                  //        expected 1, found 0\nstruct Baz<S, T> { x: Foo<S, T> } // error: wrong number of type arguments:\n                                  //        expected 1, found 2\n\nfn foo<T, U>(x: T, y: U) {}\n\nfn main() {\n    let x: bool = true;\n    foo::<bool>(x);                 // error: wrong number of type arguments:\n                                    //        expected 2, found 1\n    foo::<bool, i32, i32>(x, 2, 4); // error: wrong number of type arguments:\n                                    //        expected 2, found 3\n}\n\nfn f() {}\n\nfn main() {\n    f::<'static>(); // error: wrong number of lifetime arguments:\n                    //        expected 0, found 1\n}\n```\n\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs","byte_start":84,"byte_end":86,"line_start":6,"line_end":6,"column_start":34,"column_end":36,"is_primary":true,"text":[{"text":"    let _: u32 = 5i32.try_into::<32>().unwrap(); //~ ERROR wrong number of const arguments","highlight_start":34,"highlight_end":36}],"label":"unexpected const argument","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0107]: wrong number of const arguments: expected 0, found 1\n  --> /checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs:6:34\n   |\nLL |     let _: u32 = 5i32.try_into::<32>().unwrap(); //~ ERROR wrong number of const arguments\n   |                                  ^^ unexpected const argument\n\n"}
[01:08:16] {"message":"no method named `f` found for type `S` in the current scope","code":{"code":"E0599","explanation":"\nThis error occurs when a method is used on a type which doesn't implement it:\n\nErroneous code example:\n\n```compile_fail,E0599\nstruct Mouth;\n\nlet x = Mouth;\nx.chocolate(); // error: no method named `chocolate` found for type `Mouth`\n               //        in the current scope\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs","byte_start":28,"byte_end":37,"line_start":3,"line_end":3,"column_start":1,"column_end":10,"is_primary":false,"text":[{"text":"struct S;","highlight_start":1,"highlight_end":10}],"label":"method `f` not found for this","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs","byte_start":148,"byte_end":149,"line_start":7,"line_end":7,"column_start":7,"column_end":8,"is_primary":true,"text":[{"text":"    S.f::<0>(); //~ ERROR no method named `f`","highlight_start":7,"highlight_end":8}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0599]: no method named `f` found for type `S` in the current scope\n  --> /checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs:7:7\n   |\nLL | struct S;\n   | --------- method `f` not found for this\n...\nLL |     S.f::<0>(); //~ ERROR no method named `f`\n   |       ^\n\n"}
[01:08:16] {"message":"wrong number of const arguments: expected 0, found 1","code":{"code":"E0107","explanation":"\nThis error means that an incorrect number of generic arguments were provided:\n\n```compile_fail,E0107\nstruct Foo<T> { x: T }\n\nstruct Bar { x: Foo }             // error: wrong number of type arguments:\n                                  //        expected 1, found 0\nstruct Baz<S, T> { x: Foo<S, T> } // error: wrong number of type arguments:\n                                  //        expected 1, found 2\n\nfn foo<T, U>(x: T, y: U) {}\n\nfn main() {\n    let x: bool = true;\n    foo::<bool>(x);                 // error: wrong number of type arguments:\n                                    //        expected 2, found 1\n    foo::<bool, i32, i32>(x, 2, 4); // error: wrong number of type arguments:\n                                    //        expected 2, found 3\n}\n\nfn f() {}\n\nfn main() {\n    f::<'static>(); // error: wrong number of lifetime arguments:\n                    //        expected 0, found 1\n}\n```\n\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs","byte_start":196,"byte_end":197,"line_start":8,"line_end":8,"column_start":9,"column_end":10,"is_primary":true,"text":[{"text":"    S::<0>; //~ ERROR  wrong number of const arguments","highlight_start":9,"highlight_end":10}],"label":"unexpected const argument","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error[E0107]: wrong number of const arguments: expected 0, found 1\n  --> /checkout/src/test/ui/const-generics/invalid-const-arg-for-type-param.rs:8:9\n   |\nLL |     S::<0>; //~ ERROR  wrong number of const arguments\n   |         ^ unexpected const argument\n\n"}
[01:08:16] {"message":"aborting due to 3 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 3 previous errors\n\n"}
[01:08:16] {"message":"Some errors occurred: E0107, E0599.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0107, E0599.\n"}
[01:08:16] 
[01:08:16] ------------------------------------------
[01:08:16] 
[01:08:16] thread '[ui] ui/const-generics/invalid-const-arg-for-type-param.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3425:9
[01:08:16] thread '[ui] ui/const-generics/invalid-const-arg-for-type-param.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3425:9
[01:08:16] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[01:08:16] 
[01:08:16] ---- [ui] ui/const-generics/cannot-infer-type-for-const-param.rs stdout ----
[01:08:16] 
[01:08:16] error: Error: expected failure status (Some(1)) but received status None.
[01:08:16] status: signal: 4
[01:08:16] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/const-generics/cannot-infer-type-for-const-param.rs" "-Zthreads=1" "--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/const-generics/cannot-infer-type-for-const-param/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/const-generics/cannot-infer-type-for-const-param/auxiliary" "-A" "unused"
[01:08:16] ------------------------------------------
[01:08:16] 
[01:08:16] ------------------------------------------
[01:08:16] stderr:
[01:08:16] stderr:
[01:08:16] ------------------------------------------
[01:08:16] {"message":"the feature `const_generics` is incomplete and may cause the compiler to crash","code":null,"level":"warning","spans":[{"file_name":"/checkout/src/test/ui/const-generics/cannot-infer-type-for-const-param.rs","byte_start":11,"byte_end":25,"line_start":1,"line_end":1,"column_start":12,"column_end":26,"is_primary":true,"text":[{"text":"#![feature(const_generics)]","highlight_start":12,"highlight_end":26}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"warning: the feature `const_generics` is incomplete and may cause the compiler to crash\n  --> /checkout/src/test/ui/const-generics/cannot-infer-type-for-const-param.rs:1:12\n   |\nLL | #![feature(const_generics)]\n   |            ^^^^^^^^^^^^^^\n\n"}
[01:08:16] thread 'rustc' panicked at 'not yet implemented', src/librustc/ty/relate.rs:707:17
[01:08:16] note: Run with `RUST_BACKTRACE=1` environment variable to display a backtrace.
[01:08:16] {"message":"unexpected const parent path def Ctor(DefId(0/1:9 ~ cannot_infer_type_for_const_param[317d]::Foo[0]::{{constructor}}[0]), Struct, Fn)","code":null,"level":"error: internal compiler error","spans":[{"file_name":"/checkout/src/test/ui/const-generics/cannot-infer-type-for-const-param.rs","byte_start":0,"byte_end":0,"line_start":1,"line_end":1,"column_start":1,"column_end":1,"is_primary":true,"text":[{"text":"#![feature(const_generics)]","highlight_start":1,"highlight_end":1}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":"error: internal compiler error: unexpected const parent path def Ctor(DefId(0/1:9 ~ cannot_infer_type_for_const_param[317d]::Foo[0]::{{constructor}}[0]), Struct, Fn)\n\n"}
[01:08:16] thread 'rustc' panicked at 'no errors encountered even though `delay_span_bug` issued', src/librustc_errors/lib.rs:354:17
[01:08:16] stack backtrace:
[01:08:16]    0:     0x7f5dbe602393 - std::sys::unix::backtrace::tracing::imp::unwind_backtrace::h9b1566f2fc6c0b14
[01:08:16]    1:     0x7f5dbe5f9688 - std::sys_common::backtrace::_print::hb21fbb9eba3486a2
[01:08:16]    2:     0x7f5dbe5fe0c3 - std::panicking::default_hook::{{closure}}::hb05909e885ff80ac
[01:08:16]    3:     0x7f5dbe5fddd6 - std::panicking::default_hook::h6957af0d428a3ff8
[01:08:16]    4:     0x7f5dbb549a20 - rustc::util::common::panic_hook::h1066cca55dab5d96
[01:08:16]    5:     0x7f5dbe5fe9ad - std::panicking::rust_panic_with_hook::h16eec84e58478d23
[01:08:16]    6:     0x7f5db9efcff7 - std::panicking::begin_panic::hbbc2612b3b0d937e
[01:08:16]    7:     0x7f5db9f24ac8 - <rustc_errors::Handler as core::ops::drop::Drop>::drop::h789c037e32dfa601
[01:08:16]    8:     0x7f5dbe977311 - core::ptr::real_drop_in_place::h8513bf780bdd31fb
[01:08:16]    9:     0x7f5dbe981806 - <alloc::rc::Rc<T> as core::ops::drop::Drop>::drop::hec32f528186f609e
[01:08:16]   10:     0x7f5dbe92f62c - core::ptr::real_drop_in_place::h8123f7814390c64c
[01:08:16]   11:     0x7f5dbe928864 - rustc_interface::interface::run_compiler_in_existing_thread_pool::h55aa09af97447629
[01:08:16]   12:     0x7f5dbe8dfade - std::thread::local::LocalKey<T>::with::h2152a510bf1a65e3
[01:08:16]   13:     0x7f5dbe96ba01 - scoped_tls::ScopedKey<T>::set::h87b1322248244ec4
[01:08:16]   14:     0x7f5dbe9a3aee - syntax::with_globals::h095dba059cc69940
[01:08:16]   15:     0x7f5dbe8e993c - std::sys_common::backtrace::__rust_begin_short_backtrace::hd083b97d703a6a74
[01:08:16]   16:     0x7f5dbe612989 - __rust_maybe_catch_panic
[01:08:16]   17:     0x7f5dbe9215c9 - std::panicking::try::hc16e610a49dbb7c8
[01:08:16]   18:     0x7f5dbe8ec57d - core::ops::function::FnOnce::call_once{{vtable.shim}}::h944d87485e934a02
[01:08:16]   19:     0x7f5dbe5dad1d - <alloc::boxed::Box<F> as core::ops::function::FnOnce<A>>::call_once::h6ecf1422c2bb3547
[01:08:16]   20:     0x7f5dbe61119f - std::sys::unix::thread::Thread::new::thread_start::h7863e3cf1499fcda
[01:08:16]   21:     0x7f5db91c76b9 - start_thread
[01:08:16]   22:     0x7f5dbe2c241c - clone
[01:08:16]   23:                0x0 - <unknown>
[01:08:16] thread panicked while panicking. aborting.
[01:08:16] ------------------------------------------
[01:08:16] 
[01:08:16] thread '[ui] ui/const-generics/cannot-infer-type-for-const-param.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3425:9
[01:08:16] 
---
[01:08:16] 
[01:08:16] 
[01:08:16] The actual stderr differed from the expected stderr.
[01:08:16] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-60283/issue-60283.stderr
[01:08:16] To update references, rerun the tests and pass the `--bless` flag
[01:08:16] To only update this specific test, also pass `--test-args issues/issue-60283.rs`
[01:08:16] error: 1 errors occurred comparing output.
[01:08:16] status: exit code: 1
[01:08:16] status: exit code: 1
[01:08:16] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issues/issue-60283.rs" "-Zthreads=1" "--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/issues/issue-60283/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/issues/issue-60283/auxiliary" "-A" "unused"
[01:08:16] ------------------------------------------
[01:08:16] 
[01:08:16] ------------------------------------------
[01:08:16] stderr:
[01:08:16] stderr:
[01:08:16] ------------------------------------------
[01:08:16] {"message":"type mismatch in function arguments","code":{"code":"E0631","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":215,"byte_end":218,"line_start":14,"line_end":14,"column_start":5,"column_end":8,"is_primary":true,"text":[{"text":"    foo((), drop)","highlight_start":5,"highlight_end":8}],"label":"expected signature of `for<'a> fn(<() as Trait<'a>>::Item) -> _`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":215,"byte_end":218,"line_start":14,"line_end":14,"column_start":5,"column_end":8,"is_primary":true,"text":[{"text":"    foo((), drop)","highlight_start":5,"highlight_end":8}],"label":"found signature of `fn(_) -> _`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"required by `foo`","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":91,"byte_end":197,"line_start":9,"line_end":11,"column_start":1,"column_end":50,"is_primary":true,"text":[{"text":"pub fn foo<T, F>(_: T, _: F)","highlight_start":1,"highlight_end":29},{"text":"where T: for<'a> Trait<'a>,","highlight_start":1,"highlight_end":28},{"text":"      F: for<'a> FnMut(<T as Trait<'a>>::Item) {}","highlight_start":1,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0631]: type mismatch in function arguments\n  --> /checkout/src/test/ui/issues/issue-60283.rs:14:5\n   |\nLL |     foo((), drop)\n   |     ^^^\n   |     |\n   |     expected signature of `for<'a> fn(<() as Trait<'a>>::Item) -> _`\n   |     found signature of `fn(_) -> _`\n   |\nnote: required by `foo`\n  --> /checkout/src/test/ui/issues/issue-60283.rs:9:1\n   |\nLL | / pub fn foo<T, F>(_: T, _: F)\nLL | | where T: for<'a> Trait<'a>,\nLL | |       F: for<'a> FnMut(<T as Trait<'a>>::Item) {}\n   | |_________________________________________________^\n\n"}
[01:08:16] {"message":"type mismatch resolving `for<'a> <fn(_) {std::mem::drop::<_>} as std::ops::FnOnce<(<() as Trait<'a>>::Item,)>>::Output == ()`","code":{"code":"E0271","explanation":"\nThis is because of a type mismatch between the associated type of some\ntrait (e.g., `T::Bar`, where `T` implements `trait Quux { type Bar; }`)\nand another type `U` that is required to be equal to `T::Bar`, but is not.\nExamples follow.\n\nHere is a basic example:\n\n```compile_fail,E0271\ntrait Trait { type AssociatedType; }\n\nfn foo<T>(t: T) where T: Trait<AssociatedType=u32> {\n    println!(\"in foo\");\n}\n\nimpl Trait for i8 { type AssociatedType = &'static str; }\n\nfoo(3_i8);\n```\n\nHere is that same example again, with some explanatory comments:\n\n```compile_fail,E0271\ntrait Trait { type AssociatedType; }\n\nfn foo<T>(t: T) where T: Trait<AssociatedType=u32> {\n//                    ~~~~~~~~ ~~~~~~~~~~~~~~~~~~\n//                        |            |\n//         This says `foo` can         |\n//           only be used with         |\n//              some type that         |\n//         implements `Trait`.         |\n//                                     |\n//                             This says not only must\n//                             `T` be an impl of `Trait`\n//                             but also that the impl\n//                             must assign the type `u32`\n//                             to the associated type.\n    println!(\"in foo\");\n}\n\nimpl Trait for i8 { type AssociatedType = &'static str; }\n//~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n//      |                             |\n// `i8` does have                     |\n// implementation                     |\n// of `Trait`...                      |\n//                     ... but it is an implementation\n//                     that assigns `&'static str` to\n//                     the associated type.\n\nfoo(3_i8);\n// Here, we invoke `foo` with an `i8`, which does not satisfy\n// the constraint `<i8 as Trait>::AssociatedType=u32`, and\n// therefore the type-checker complains with this error code.\n```\n\nTo avoid those issues, you have to make the types match correctly.\nSo we can fix the previous examples like this:\n\n```\n// Basic Example:\ntrait Trait { type AssociatedType; }\n\nfn foo<T>(t: T) where T: Trait<AssociatedType = &'static str> {\n    println!(\"in foo\");\n}\n\nimpl Trait for i8 { type AssociatedType = &'static str; }\n\nfoo(3_i8);\n\n// For-Loop Example:\nlet vs = vec![1, 2, 3, 4];\nfor v in &vs {\n    match v {\n        &1 => {}\n        _ => {}\n    }\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":215,"byte_end":218,"line_start":14,"line_end":14,"column_start":5,"column_end":8,"is_primary":true,"text":[{"text":"    foo((), drop)","highlight_start":5,"highlight_end":8}],"label":"expected bound lifetime parameter 'a, found concrete lifetime","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"required by `foo`","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":91,"byte_end":197,"line_start":9,"line_end":11,"column_start":1,"column_end":50,"is_primary":true,"text":[{"text":"pub fn foo<T, F>(_: T, _: F)","highlight_start":1,"highlight_end":29},{"text":"where T: for<'a> Trait<'a>,","highlight_start":1,"highlight_end":28},{"text":"      F: for<'a> FnMut(<T as Trait<'a>>::Item) {}","highlight_start":1,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0271]: type mismatch resolving `for<'a> <fn(_) {std::mem::drop::<_>} as std::ops::FnOnce<(<() as Trait<'a>>::Item,)>>::Output == ()`\n  --> /checkout/src/test/ui/issues/issue-60283.rs:14:5\n   |\nLL |     foo((), drop)\n   |     ^^^ expected bound lifetime parameter 'a, found concrete lifetime\n   |\nnote: required by `foo`\n  --> /checkout/src/test/ui/issues/issue-60283.rs:9:1\n   |\nLL | / pub fn foo<T, F>(_: T, _: F)\nLL | | where T: for<'a> Trait<'a>,\nLL | |       F: for<'a> FnMut(<T as Trait<'a>>::Item) {}\n   | |_________________________________________________^\n\n"}
[01:08:16] {"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 2 previous errors\n\n"}
[01:08:16] {"message":"Some errors occurred: E0271, E0631.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0271, E0631.\n"}
[01:08:16] 
[01:08:16] ------------------------------------------
[01:08:16] 
[01:08:16] thread '[ui] ui/issues/issue-60283.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3425:9
---
[01:08:16] 
[01:08:16] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:516:22
[01:08:16] 
[01:08:16] 
[01:08:16] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--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" "6.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[01:08:16] 
[01:08:16] 
[01:08:16] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:08:16] Build completed unsuccessfully in 0:04:22
[01:08:16] Build completed unsuccessfully in 0:04:22
[01:08:16] make: *** [check] Error 1
[01:08:16] Makefile:48: recipe for target 'check' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:21be022a
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Fri May 17 20:09:46 UTC 2019
---
travis_time:end:1867e0d0:start=1558123787976185924,finish=1558123787981167703,duration=4981779
travis_fold:end:after_failure.3
travis_fold:start:after_failure.4
travis_time:start:149076ec
$ ln -s . checkout && for CORE in obj/cores/core.*; do EXE=$(echo $CORE | sed 's|obj/cores/core\.[0-9]*\.!checkout!\(.*\)|\1|;y|!|/|'); if [ -f "$EXE" ]; then printf travis_fold":start:crashlog\n\033[31;1m%s\033[0m\n" "$CORE"; gdb --batch -q -c "$CORE" "$EXE" -iex 'set auto-load off' -iex 'dir src/' -iex 'set sysroot .' -ex bt -ex q; echo travis_fold":"end:crashlog; fi; done || true
travis_fold:start:crashlog
obj/cores/core.21970.!checkout!obj!build!x86_64-unknown-linux-gnu!stage2!bin!rustc
[New LWP 21972]
[New LWP 21970]
warning: Could not load shared library symbols for 14 libraries, e.g. /lib/x86_64-linux-gnu/libc.so.6.
Use the "info sharedlibrary" command to see the complete listing.
Do you need "set solib-search-path" or "set sysroot"?

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)

@pietroalbini
Copy link
Member Author

@bors r+ p=20

@bors
Copy link
Contributor

bors commented May 18, 2019

📌 Commit f4ae007 has been approved by pietroalbini

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-review Status: Awaiting review from the assignee but also interested parties. labels May 18, 2019
@pietroalbini
Copy link
Member Author

Backed out #60710 since it was still ICEing.

@pietroalbini
Copy link
Member Author

@bors r-

RLS tests are failing locally.

@bors bors added S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. and removed S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. labels May 18, 2019
@rust-highfive
Copy link
Collaborator

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

Click to expand the log.
travis_time:end:0be7a369:start=1558172050423029777,finish=1558172137716894751,duration=87293864974
$ git checkout -qf FETCH_HEAD
travis_fold:end:git.checkout

Encrypted environment variables have been removed for security reasons.
See https://docs.travis-ci.com/user/pull-requests/#pull-requests-and-security-restrictions
$ export SCCACHE_BUCKET=rust-lang-ci-sccache2
$ export SCCACHE_REGION=us-west-1
$ export GCP_CACHE_BUCKET=rust-lang-ci-cache
$ export AWS_ACCESS_KEY_ID=AKIA46X5W6CZEJZ6XT55
---
[01:09:20] .................................................................................................... 2700/5534
[01:09:25] .................................................................................................... 2800/5534
[01:09:29] .................................................................................................... 2900/5534
[01:09:33] .................................................................................................... 3000/5534
[01:09:37] ..............................F..................................................................... 3100/5534
[01:09:45] .................................................................................................... 3300/5534
[01:09:49] ................................i................................................................... 3400/5534
[01:09:53] .................................................................................................... 3500/5534
[01:09:56] ......ii...i..ii.................................................................................... 3600/5534
---
[01:11:13] 
[01:11:13] 
[01:11:13] The actual stderr differed from the expected stderr.
[01:11:13] Actual stderr saved to /checkout/obj/build/x86_64-unknown-linux-gnu/test/ui/issues/issue-60283/issue-60283.stderr
[01:11:13] To update references, rerun the tests and pass the `--bless` flag
[01:11:13] To only update this specific test, also pass `--test-args issues/issue-60283.rs`
[01:11:13] error: 1 errors occurred comparing output.
[01:11:13] status: exit code: 1
[01:11:13] status: exit code: 1
[01:11:13] command: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "/checkout/src/test/ui/issues/issue-60283.rs" "-Zthreads=1" "--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/issues/issue-60283/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/issues/issue-60283/auxiliary" "-A" "unused"
[01:11:13] ------------------------------------------
[01:11:13] 
[01:11:13] ------------------------------------------
[01:11:13] stderr:
[01:11:13] stderr:
[01:11:13] ------------------------------------------
[01:11:13] {"message":"type mismatch in function arguments","code":{"code":"E0631","explanation":null},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":215,"byte_end":218,"line_start":14,"line_end":14,"column_start":5,"column_end":8,"is_primary":true,"text":[{"text":"    foo((), drop)","highlight_start":5,"highlight_end":8}],"label":"expected signature of `for<'a> fn(<() as Trait<'a>>::Item) -> _`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null},{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":215,"byte_end":218,"line_start":14,"line_end":14,"column_start":5,"column_end":8,"is_primary":true,"text":[{"text":"    foo((), drop)","highlight_start":5,"highlight_end":8}],"label":"found signature of `fn(_) -> _`","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"required by `foo`","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":91,"byte_end":197,"line_start":9,"line_end":11,"column_start":1,"column_end":50,"is_primary":true,"text":[{"text":"pub fn foo<T, F>(_: T, _: F)","highlight_start":1,"highlight_end":29},{"text":"where T: for<'a> Trait<'a>,","highlight_start":1,"highlight_end":28},{"text":"      F: for<'a> FnMut(<T as Trait<'a>>::Item) {}","highlight_start":1,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0631]: type mismatch in function arguments\n  --> /checkout/src/test/ui/issues/issue-60283.rs:14:5\n   |\nLL |     foo((), drop)\n   |     ^^^\n   |     |\n   |     expected signature of `for<'a> fn(<() as Trait<'a>>::Item) -> _`\n   |     found signature of `fn(_) -> _`\n   |\nnote: required by `foo`\n  --> /checkout/src/test/ui/issues/issue-60283.rs:9:1\n   |\nLL | / pub fn foo<T, F>(_: T, _: F)\nLL | | where T: for<'a> Trait<'a>,\nLL | |       F: for<'a> FnMut(<T as Trait<'a>>::Item) {}\n   | |_________________________________________________^\n\n"}
[01:11:13] {"message":"type mismatch resolving `for<'a> <fn(_) {std::mem::drop::<_>} as std::ops::FnOnce<(<() as Trait<'a>>::Item,)>>::Output == ()`","code":{"code":"E0271","explanation":"\nThis is because of a type mismatch between the associated type of some\ntrait (e.g., `T::Bar`, where `T` implements `trait Quux { type Bar; }`)\nand another type `U` that is required to be equal to `T::Bar`, but is not.\nExamples follow.\n\nHere is a basic example:\n\n```compile_fail,E0271\ntrait Trait { type AssociatedType; }\n\nfn foo<T>(t: T) where T: Trait<AssociatedType=u32> {\n    println!(\"in foo\");\n}\n\nimpl Trait for i8 { type AssociatedType = &'static str; }\n\nfoo(3_i8);\n```\n\nHere is that same example again, with some explanatory comments:\n\n```compile_fail,E0271\ntrait Trait { type AssociatedType; }\n\nfn foo<T>(t: T) where T: Trait<AssociatedType=u32> {\n//                    ~~~~~~~~ ~~~~~~~~~~~~~~~~~~\n//                        |            |\n//         This says `foo` can         |\n//           only be used with         |\n//              some type that         |\n//         implements `Trait`.         |\n//                                     |\n//                             This says not only must\n//                             `T` be an impl of `Trait`\n//                             but also that the impl\n//                             must assign the type `u32`\n//                             to the associated type.\n    println!(\"in foo\");\n}\n\nimpl Trait for i8 { type AssociatedType = &'static str; }\n//~~~~~~~~~~~~~~~   ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~\n//      |                             |\n// `i8` does have                     |\n// implementation                     |\n// of `Trait`...                      |\n//                     ... but it is an implementation\n//                     that assigns `&'static str` to\n//                     the associated type.\n\nfoo(3_i8);\n// Here, we invoke `foo` with an `i8`, which does not satisfy\n// the constraint `<i8 as Trait>::AssociatedType=u32`, and\n// therefore the type-checker complains with this error code.\n```\n\nTo avoid those issues, you have to make the types match correctly.\nSo we can fix the previous examples like this:\n\n```\n// Basic Example:\ntrait Trait { type AssociatedType; }\n\nfn foo<T>(t: T) where T: Trait<AssociatedType = &'static str> {\n    println!(\"in foo\");\n}\n\nimpl Trait for i8 { type AssociatedType = &'static str; }\n\nfoo(3_i8);\n\n// For-Loop Example:\nlet vs = vec![1, 2, 3, 4];\nfor v in &vs {\n    match v {\n        &1 => {}\n        _ => {}\n    }\n}\n```\n"},"level":"error","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":215,"byte_end":218,"line_start":14,"line_end":14,"column_start":5,"column_end":8,"is_primary":true,"text":[{"text":"    foo((), drop)","highlight_start":5,"highlight_end":8}],"label":"expected bound lifetime parameter 'a, found concrete lifetime","suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[{"message":"required by `foo`","code":null,"level":"note","spans":[{"file_name":"/checkout/src/test/ui/issues/issue-60283.rs","byte_start":91,"byte_end":197,"line_start":9,"line_end":11,"column_start":1,"column_end":50,"is_primary":true,"text":[{"text":"pub fn foo<T, F>(_: T, _: F)","highlight_start":1,"highlight_end":29},{"text":"where T: for<'a> Trait<'a>,","highlight_start":1,"highlight_end":28},{"text":"      F: for<'a> FnMut(<T as Trait<'a>>::Item) {}","highlight_start":1,"highlight_end":50}],"label":null,"suggested_replacement":null,"suggestion_applicability":null,"expansion":null}],"children":[],"rendered":null}],"rendered":"error[E0271]: type mismatch resolving `for<'a> <fn(_) {std::mem::drop::<_>} as std::ops::FnOnce<(<() as Trait<'a>>::Item,)>>::Output == ()`\n  --> /checkout/src/test/ui/issues/issue-60283.rs:14:5\n   |\nLL |     foo((), drop)\n   |     ^^^ expected bound lifetime parameter 'a, found concrete lifetime\n   |\nnote: required by `foo`\n  --> /checkout/src/test/ui/issues/issue-60283.rs:9:1\n   |\nLL | / pub fn foo<T, F>(_: T, _: F)\nLL | | where T: for<'a> Trait<'a>,\nLL | |       F: for<'a> FnMut(<T as Trait<'a>>::Item) {}\n   | |_________________________________________________^\n\n"}
[01:11:13] {"message":"aborting due to 2 previous errors","code":null,"level":"error","spans":[],"children":[],"rendered":"error: aborting due to 2 previous errors\n\n"}
[01:11:13] {"message":"Some errors occurred: E0271, E0631.","code":null,"level":"","spans":[],"children":[],"rendered":"Some errors occurred: E0271, E0631.\n"}
[01:11:13] 
[01:11:13] ------------------------------------------
[01:11:13] 
[01:11:13] thread '[ui] ui/issues/issue-60283.rs' panicked at 'explicit panic', src/tools/compiletest/src/runtest.rs:3425:9
---
[01:11:13] 
[01:11:13] thread 'main' panicked at 'Some tests failed', src/tools/compiletest/src/main.rs:516:22
[01:11:13] 
[01:11:13] 
[01:11:13] command did not execute successfully: "/checkout/obj/build/x86_64-unknown-linux-gnu/stage0-tools-bin/compiletest" "--compile-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib" "--run-lib-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/lib/rustlib/x86_64-unknown-linux-gnu/lib" "--rustc-path" "/checkout/obj/build/x86_64-unknown-linux-gnu/stage2/bin/rustc" "--src-base" "/checkout/src/test/ui" "--build-base" "/checkout/obj/build/x86_64-unknown-linux-gnu/test/ui" "--stage-id" "stage2-x86_64-unknown-linux-gnu" "--mode" "ui" "--target" "x86_64-unknown-linux-gnu" "--host" "x86_64-unknown-linux-gnu" "--llvm-filecheck" "/usr/lib/llvm-6.0/bin/FileCheck" "--host-rustcflags" "-Crpath -O -Zunstable-options  -Lnative=/checkout/obj/build/x86_64-unknown-linux-gnu/native/rust-test-helpers" "--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" "6.0.0\n" "--system-llvm" "--cc" "" "--cxx" "" "--cflags" "" "--llvm-components" "" "--llvm-cxxflags" "" "--adb-path" "adb" "--adb-test-dir" "/data/tmp/work" "--android-cross-path" "" "--color" "always"
[01:11:13] 
[01:11:13] 
[01:11:13] failed to run: /checkout/obj/build/bootstrap/debug/bootstrap test
[01:11:13] Build completed unsuccessfully in 0:04:36
[01:11:13] Build completed unsuccessfully in 0:04:36
[01:11:13] make: *** [check] Error 1
[01:11:13] Makefile:48: recipe for target 'check' failed
The command "stamp sh -x -c "$RUN_SCRIPT"" exited with 2.
travis_time:start:25b27faa
$ date && (curl -fs --head https://google.com | grep ^Date: | sed 's/Date: //g' || true)
Sat May 18 10:47:01 UTC 2019
---
travis_time:end:053f5794:start=1558176422535579302,finish=1558176422543479201,duration=7899899
travis_fold:end:after_failure.4
travis_fold:start:after_failure.5
travis_time:start:0a457316
$ cat ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers || true
cat: ./obj/build/x86_64-unknown-linux-gnu/native/asan/build/lib/asan/clang_rt.asan-dynamic-i386.vers: No such file or directory
travis_fold:end:after_failure.5
travis_fold:start:after_failure.6
travis_time:start:2b356a76
$ 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)

@pietroalbini
Copy link
Member Author

@bors r+ p=20

@bors
Copy link
Contributor

bors commented May 18, 2019

📌 Commit 7b38c52 has been approved by pietroalbini

@bors bors added S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion. and removed S-waiting-on-author Status: This is awaiting some action (such as code changes or more information) from the author. labels May 18, 2019
@bors
Copy link
Contributor

bors commented May 18, 2019

⌛ Testing commit 7b38c52 with merge 02b0ca3...

bors added a commit that referenced this pull request May 18, 2019
[beta] Rollup backports

Rolled up:

*  [beta] save-analysis: Pull associated type definition using `qpath_def` #60881
*  [beta] Update clippy #60918

Cherry-picked:

* Instead of ICEing on incorrect pattern, use delay_span_bug #60641
* Use `delay_span_bug` for "Failed to unify obligation" #60644

r? @ghost
@bors
Copy link
Contributor

bors commented May 18, 2019

☀️ Test successful - checks-travis, status-appveyor
Approved by: pietroalbini
Pushing 02b0ca3 to beta...

@bors bors added the merged-by-bors This PR was explicitly merged by bors. label May 18, 2019
@bors bors merged commit 7b38c52 into rust-lang:beta May 18, 2019
@pietroalbini pietroalbini deleted the beta-rollup branch May 18, 2019 14:44
@Centril Centril added the rollup A PR which is a rollup label Oct 2, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
merged-by-bors This PR was explicitly merged by bors. rollup A PR which is a rollup S-waiting-on-bors Status: Waiting on bors to run and complete tests. Bors will change the label on completion.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants