Closed
Description
another one caused by #117449
auto-reduced (treereduce-rust):
fn frob() -> impl Fn<P, Output = T> + '_ {}
fn open_parent<'path>() {
todo!()
}
fn main() {
let old_path = frob("hello");
open_parent(&old_path)
}
original:
// revisions: current next
//[next] compile-flags: -Znext-solver
// check-pass
use std::path::Path;
use std::ffi::OsStr
use std::ops::Deref;
fn frob(path: &str) -> impl Fn<P, Output = T> + '_ {
OsStr::new(path).as_ref()
}
fn open_parent<'path>(_path: &'path Path) {
todo!()
}
fn main() {
let old_path = frob("hello");
open_parent(&old_path)
}
Version information
rustc 1.77.0-nightly (0a8923361 2024-01-11)
binary: rustc
commit-hash: 0a8923361ec2a37fa341292c029ef7c6d0405d4b
commit-date: 2024-01-11
host: x86_64-unknown-linux-gnu
release: 1.77.0-nightly
LLVM version: 17.0.6
Command:
/home/matthias/.rustup/toolchains/master/bin/rustc
Program output
error[E0106]: missing lifetime specifier
--> /tmp/icemaker_global_tempdir.nW43QDl0tZ3m/rustc_testrunner_tmpdir_reporting.xWv2jkVNFcR0/mvce.rs:1:39
|
1 | fn frob() -> impl Fn<P, Output = T> + '_ {}
| ^^ expected named lifetime parameter
|
= help: this function's return type contains a borrowed value, but there is no value for it to be borrowed from
help: consider using the `'static` lifetime, but this is uncommon unless you're returning a borrowed value from a `const` or a `static`, or if you will only have owned values
|
1 | fn frob() -> impl Fn<P, Output = T> + 'static {}
| ~~~~~~~
error[E0412]: cannot find type `P` in this scope
--> /tmp/icemaker_global_tempdir.nW43QDl0tZ3m/rustc_testrunner_tmpdir_reporting.xWv2jkVNFcR0/mvce.rs:1:22
|
1 | fn frob() -> impl Fn<P, Output = T> + '_ {}
| ^ not found in this scope
|
help: you might be missing a type parameter
|
1 | fn frob<P>() -> impl Fn<P, Output = T> + '_ {}
| +++
error[E0412]: cannot find type `T` in this scope
--> /tmp/icemaker_global_tempdir.nW43QDl0tZ3m/rustc_testrunner_tmpdir_reporting.xWv2jkVNFcR0/mvce.rs:1:34
|
1 | fn frob() -> impl Fn<P, Output = T> + '_ {}
| ^ not found in this scope
|
help: you might be missing a type parameter
|
1 | fn frob<T>() -> impl Fn<P, Output = T> + '_ {}
| +++
error[E0658]: the precise format of `Fn`-family traits' type parameters is subject to change
--> /tmp/icemaker_global_tempdir.nW43QDl0tZ3m/rustc_testrunner_tmpdir_reporting.xWv2jkVNFcR0/mvce.rs:1:19
|
1 | fn frob() -> impl Fn<P, Output = T> + '_ {}
| ^^^^^^^^^^^^^^^^^ help: use parenthetical notation instead: `Fn(P) -> T`
|
= note: see issue #29625 <https://github.com/rust-lang/rust/issues/29625> for more information
= help: add `#![feature(unboxed_closures)]` to the crate attributes to enable
error[E0061]: this function takes 0 arguments but 1 argument was supplied
--> /tmp/icemaker_global_tempdir.nW43QDl0tZ3m/rustc_testrunner_tmpdir_reporting.xWv2jkVNFcR0/mvce.rs:8:20
|
8 | let old_path = frob("hello");
| ^^^^ -------
| |
| unexpected argument of type `&'static str`
| help: remove the extra argument
|
note: function defined here
--> /tmp/icemaker_global_tempdir.nW43QDl0tZ3m/rustc_testrunner_tmpdir_reporting.xWv2jkVNFcR0/mvce.rs:1:4
|
1 | fn frob() -> impl Fn<P, Output = T> + '_ {}
| ^^^^
error: internal compiler error: compiler/rustc_metadata/src/rmeta/decoder.rs:1299:18: cannot get associated-item of `DefKey { parent: Some(DefIndex(3125)), disambiguated_data: DisambiguatedDefPathData { data: TypeNs("FnOnce"), disambiguator: 0 } }`
thread 'rustc' panicked at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/compiler/rustc_errors/src/lib.rs:941:30:
Box<dyn Any>
stack backtrace:
0: 0x7f00fab8c7e6 - std::backtrace_rs::backtrace::libunwind::trace::h94bb5959755b86f2
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/std/src/../../backtrace/src/backtrace/libunwind.rs:104:5
1: 0x7f00fab8c7e6 - std::backtrace_rs::backtrace::trace_unsynchronized::h0ffc134be1aaf930
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
2: 0x7f00fab8c7e6 - std::sys_common::backtrace::_print_fmt::h26081e0c608a0b7f
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/std/src/sys_common/backtrace.rs:68:5
3: 0x7f00fab8c7e6 - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h5c8038800e6fb5f7
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/std/src/sys_common/backtrace.rs:44:22
4: 0x7f00fabdeec0 - core::fmt::rt::Argument::fmt::h3f1be51c7343ffea
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/core/src/fmt/rt.rs:142:9
5: 0x7f00fabdeec0 - core::fmt::write::h1488c259b4acf9ab
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/core/src/fmt/mod.rs:1120:17
6: 0x7f00fab8014f - std::io::Write::write_fmt::h24f4cd0dcf44bd3f
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/std/src/io/mod.rs:1810:15
7: 0x7f00fab8c5c4 - std::sys_common::backtrace::_print::h5ba325da6734b016
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/std/src/sys_common/backtrace.rs:47:5
8: 0x7f00fab8c5c4 - std::sys_common::backtrace::print::hf30744c1471ec929
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/std/src/sys_common/backtrace.rs:34:9
9: 0x7f00fab8f357 - std::panicking::default_hook::{{closure}}::h2280b259aae7d3fe
10: 0x7f00fab8f0b9 - std::panicking::default_hook::he7df247e2295c328
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/std/src/panicking.rs:292:9
11: 0x7f00fd95ee2c - std[df2bb02ebe81061e]::panicking::update_hook::<alloc[688fff2a09b379cd]::boxed::Box<rustc_driver_impl[3af87016ec32f132]::install_ice_hook::{closure#0}>>::{closure#0}
12: 0x7f00fab8faa6 - <alloc::boxed::Box<F,A> as core::ops::function::Fn<Args>>::call::hf4a63bd7a4561991
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/alloc/src/boxed.rs:2030:9
13: 0x7f00fab8faa6 - std::panicking::rust_panic_with_hook::h4cc138991ddaa8e1
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/std/src/panicking.rs:785:13
14: 0x7f00fd990e84 - std[df2bb02ebe81061e]::panicking::begin_panic::<rustc_errors[935076ffe56fbaa3]::ExplicitBug>::{closure#0}
15: 0x7f00fd98d776 - std[df2bb02ebe81061e]::sys_common::backtrace::__rust_end_short_backtrace::<std[df2bb02ebe81061e]::panicking::begin_panic<rustc_errors[935076ffe56fbaa3]::ExplicitBug>::{closure#0}, !>
16: 0x7f00fd98d3e6 - std[df2bb02ebe81061e]::panicking::begin_panic::<rustc_errors[935076ffe56fbaa3]::ExplicitBug>
17: 0x7f00fd99bdd1 - <rustc_errors[935076ffe56fbaa3]::diagnostic_builder::BugAbort as rustc_errors[935076ffe56fbaa3]::diagnostic_builder::EmissionGuarantee>::emit_producing_guarantee
18: 0x7f00fdd6310e - <rustc_errors[935076ffe56fbaa3]::DiagCtxt>::bug::<alloc[688fff2a09b379cd]::string::String>
19: 0x7f00fddfbb0b - rustc_middle[aa34c5a2c4702fe8]::util::bug::opt_span_bug_fmt::<rustc_span[4b4e540b8f3141bc]::span_encoding::Span>::{closure#0}
20: 0x7f00fdde46fa - rustc_middle[aa34c5a2c4702fe8]::ty::context::tls::with_opt::<rustc_middle[aa34c5a2c4702fe8]::util::bug::opt_span_bug_fmt<rustc_span[4b4e540b8f3141bc]::span_encoding::Span>::{closure#0}, !>::{closure#0}
21: 0x7f00fdde4598 - rustc_middle[aa34c5a2c4702fe8]::ty::context::tls::with_context_opt::<rustc_middle[aa34c5a2c4702fe8]::ty::context::tls::with_opt<rustc_middle[aa34c5a2c4702fe8]::util::bug::opt_span_bug_fmt<rustc_span[4b4e540b8f3141bc]::span_encoding::Span>::{closure#0}, !>::{closure#0}, !>
22: 0x7f00fbd8f3b0 - rustc_middle[aa34c5a2c4702fe8]::util::bug::bug_fmt
23: 0x7f00ff2eaaeb - rustc_metadata[971df77c2ee648c4]::rmeta::decoder::cstore_impl::provide_extern::associated_item
24: 0x7f00ff2e9b33 - rustc_query_impl[b792d1ca797334ee]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b792d1ca797334ee]::query_impl::associated_item::dynamic_query::{closure#2}::{closure#0}, rustc_middle[aa34c5a2c4702fe8]::query::erase::Erased<[u8; 40usize]>>
25: 0x7f00ff2e90ff - rustc_query_system[3ece82405c4406ab]::query::plumbing::try_execute_query::<rustc_query_impl[b792d1ca797334ee]::DynamicConfig<rustc_query_system[3ece82405c4406ab]::query::caches::DefaultCache<rustc_span[4b4e540b8f3141bc]::def_id::DefId, rustc_middle[aa34c5a2c4702fe8]::query::erase::Erased<[u8; 40usize]>>, false, false, false>, rustc_query_impl[b792d1ca797334ee]::plumbing::QueryCtxt, false>
26: 0x7f00ff2e8df4 - rustc_query_impl[b792d1ca797334ee]::query_impl::associated_item::get_query_non_incr::__rust_end_short_backtrace
27: 0x7f00fddd542c - <rustc_middle[aa34c5a2c4702fe8]::ty::print::pretty::FmtPrinter as rustc_middle[aa34c5a2c4702fe8]::ty::print::pretty::PrettyPrinter>::pretty_print_opaque_impl_type
28: 0x7f00ffb8f498 - <rustc_middle[aa34c5a2c4702fe8]::ty::print::pretty::FmtPrinter as rustc_middle[aa34c5a2c4702fe8]::ty::print::pretty::PrettyPrinter>::pretty_print_type
29: 0x7f00ffb8e1dc - <rustc_middle[aa34c5a2c4702fe8]::ty::print::pretty::FmtPrinter as rustc_middle[aa34c5a2c4702fe8]::ty::print::pretty::PrettyPrinter>::pretty_print_type
30: 0x7f00ffb8fac1 - <rustc_middle[aa34c5a2c4702fe8]::ty::Ty as core[6902f9af1f3facd9]::fmt::Display>::fmt
31: 0x7f00fabdeec0 - core::fmt::rt::Argument::fmt::h3f1be51c7343ffea
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/core/src/fmt/rt.rs:142:9
32: 0x7f00fabdeec0 - core::fmt::write::h1488c259b4acf9ab
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/core/src/fmt/mod.rs:1120:17
33: 0x7f00fabcddd8 - <&mut W as core::fmt::Write::write_fmt::SpecWriteFmt>::spec_write_fmt::hec3144203de7114a
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/core/src/fmt/mod.rs:211:17
34: 0x7f00fabcddd8 - core::fmt::Write::write_fmt::hed68ab8549809521
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/core/src/fmt/mod.rs:215:14
35: 0x7f00fabcddd8 - alloc::fmt::format::format_inner::hb2933aa08576c345
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/alloc/src/fmt.rs:612:16
36: 0x7f00fdb31009 - <rustc_hir_typeck[d224dc29d1d831a9]::fn_ctxt::FnCtxt>::report_arg_errors
37: 0x7f00ff763802 - <rustc_hir_typeck[d224dc29d1d831a9]::fn_ctxt::FnCtxt>::check_argument_types
38: 0x7f00ff596fb5 - <rustc_hir_typeck[d224dc29d1d831a9]::fn_ctxt::FnCtxt>::check_call
39: 0x7f00ff6db579 - <rustc_hir_typeck[d224dc29d1d831a9]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
40: 0x7f00ff5780e5 - <rustc_hir_typeck[d224dc29d1d831a9]::fn_ctxt::FnCtxt>::check_block_with_expected
41: 0x7f00ff6db989 - <rustc_hir_typeck[d224dc29d1d831a9]::fn_ctxt::FnCtxt>::check_expr_with_expectation_and_args
42: 0x7f00ff2a7ec8 - rustc_hir_typeck[d224dc29d1d831a9]::check::check_fn
43: 0x7f00fef006c1 - rustc_hir_typeck[d224dc29d1d831a9]::typeck
44: 0x7f00feeffa49 - rustc_query_impl[b792d1ca797334ee]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b792d1ca797334ee]::query_impl::typeck::dynamic_query::{closure#2}::{closure#0}, rustc_middle[aa34c5a2c4702fe8]::query::erase::Erased<[u8; 8usize]>>
45: 0x7f00ff0f9039 - rustc_query_system[3ece82405c4406ab]::query::plumbing::try_execute_query::<rustc_query_impl[b792d1ca797334ee]::DynamicConfig<rustc_query_system[3ece82405c4406ab]::query::caches::VecCache<rustc_span[4b4e540b8f3141bc]::def_id::LocalDefId, rustc_middle[aa34c5a2c4702fe8]::query::erase::Erased<[u8; 8usize]>>, false, false, false>, rustc_query_impl[b792d1ca797334ee]::plumbing::QueryCtxt, false>
46: 0x7f00ff0f8cd0 - rustc_query_impl[b792d1ca797334ee]::query_impl::typeck::get_query_non_incr::__rust_end_short_backtrace
47: 0x7f00ff0f854c - <rustc_middle[aa34c5a2c4702fe8]::hir::map::Map>::par_body_owners::<rustc_hir_analysis[546a31c598987e4a]::check_crate::{closure#6}>::{closure#0}
48: 0x7f00ff0f6e44 - rustc_hir_analysis[546a31c598987e4a]::check_crate
49: 0x7f00ff65bb99 - rustc_interface[43fdae4d36f71f42]::passes::analysis
50: 0x7f00ff65b7df - rustc_query_impl[b792d1ca797334ee]::plumbing::__rust_begin_short_backtrace::<rustc_query_impl[b792d1ca797334ee]::query_impl::analysis::dynamic_query::{closure#2}::{closure#0}, rustc_middle[aa34c5a2c4702fe8]::query::erase::Erased<[u8; 1usize]>>
51: 0x7f00ffbca2c0 - rustc_query_system[3ece82405c4406ab]::query::plumbing::try_execute_query::<rustc_query_impl[b792d1ca797334ee]::DynamicConfig<rustc_query_system[3ece82405c4406ab]::query::caches::SingleCache<rustc_middle[aa34c5a2c4702fe8]::query::erase::Erased<[u8; 1usize]>>, false, false, false>, rustc_query_impl[b792d1ca797334ee]::plumbing::QueryCtxt, false>
52: 0x7f00ffbca0c7 - rustc_query_impl[b792d1ca797334ee]::query_impl::analysis::get_query_non_incr::__rust_end_short_backtrace
53: 0x7f00ff93f588 - rustc_interface[43fdae4d36f71f42]::interface::run_compiler::<core[6902f9af1f3facd9]::result::Result<(), rustc_span[4b4e540b8f3141bc]::ErrorGuaranteed>, rustc_driver_impl[3af87016ec32f132]::run_compiler::{closure#0}>::{closure#0}
54: 0x7f00ffbecd86 - std[df2bb02ebe81061e]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[43fdae4d36f71f42]::util::run_in_thread_with_globals<rustc_interface[43fdae4d36f71f42]::util::run_in_thread_pool_with_globals<rustc_interface[43fdae4d36f71f42]::interface::run_compiler<core[6902f9af1f3facd9]::result::Result<(), rustc_span[4b4e540b8f3141bc]::ErrorGuaranteed>, rustc_driver_impl[3af87016ec32f132]::run_compiler::{closure#0}>::{closure#0}, core[6902f9af1f3facd9]::result::Result<(), rustc_span[4b4e540b8f3141bc]::ErrorGuaranteed>>::{closure#0}, core[6902f9af1f3facd9]::result::Result<(), rustc_span[4b4e540b8f3141bc]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6902f9af1f3facd9]::result::Result<(), rustc_span[4b4e540b8f3141bc]::ErrorGuaranteed>>
55: 0x7f00ffbecbb3 - <<std[df2bb02ebe81061e]::thread::Builder>::spawn_unchecked_<rustc_interface[43fdae4d36f71f42]::util::run_in_thread_with_globals<rustc_interface[43fdae4d36f71f42]::util::run_in_thread_pool_with_globals<rustc_interface[43fdae4d36f71f42]::interface::run_compiler<core[6902f9af1f3facd9]::result::Result<(), rustc_span[4b4e540b8f3141bc]::ErrorGuaranteed>, rustc_driver_impl[3af87016ec32f132]::run_compiler::{closure#0}>::{closure#0}, core[6902f9af1f3facd9]::result::Result<(), rustc_span[4b4e540b8f3141bc]::ErrorGuaranteed>>::{closure#0}, core[6902f9af1f3facd9]::result::Result<(), rustc_span[4b4e540b8f3141bc]::ErrorGuaranteed>>::{closure#0}::{closure#0}, core[6902f9af1f3facd9]::result::Result<(), rustc_span[4b4e540b8f3141bc]::ErrorGuaranteed>>::{closure#1} as core[6902f9af1f3facd9]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
56: 0x7f00fab999d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hfa068cbc4d1f0631
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/alloc/src/boxed.rs:2016:9
57: 0x7f00fab999d5 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::h63f146f44326f9ec
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/alloc/src/boxed.rs:2016:9
58: 0x7f00fab999d5 - std::sys::unix::thread::Thread::new::thread_start::h920a03d727fced69
at /rustc/0a8923361ec2a37fa341292c029ef7c6d0405d4b/library/std/src/sys/unix/thread.rs:108:17
59: 0x7f00fa9859eb - <unknown>
60: 0x7f00faa097cc - <unknown>
61: 0x0 - <unknown>
note: we would appreciate a bug report: https://github.com/rust-lang/rust/issues/new?labels=C-bug%2C+I-ICE%2C+T-compiler&template=ice.md
note: rustc 1.77.0-nightly (0a8923361 2024-01-11) running on x86_64-unknown-linux-gnu
query stack during panic:
#0 [associated_item] computing associated item data for `core::ops::function::FnOnce`
#1 [typeck] type-checking `main`
#2 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 6 previous errors
Some errors have detailed explanations: E0061, E0106, E0412, E0658.
For more information about an error, try `rustc --explain E0061`.