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

ice: drop location span error with -Wrust-2021-incompatible-closure-captures #93117

Closed
matthiaskrgr opened this issue Jan 20, 2022 · 1 comment · Fixed by #98644
Closed

ice: drop location span error with -Wrust-2021-incompatible-closure-captures #93117

matthiaskrgr opened this issue Jan 20, 2022 · 1 comment · Fixed by #98644
Labels
A-diagnostics Area: Messages for errors, warnings, and lints C-bug Category: This is a bug. glacier ICE tracked in rust-lang/glacier. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@matthiaskrgr
Copy link
Member

Code

code reduced from tokio-1.15.0/src/fs/dir_builder.rs

pub struct A {}

impl A {
    async fn create(path: impl AsRef<std::path::Path>)  {
    ;
    crate(move || {} ).await
    }
}

Meta

rustc --version --verbose:

rustc 1.60.0-nightly (5e57faa78 2022-01-19)
binary: rustc
commit-hash: 5e57faa78aa7661c6000204591558f6665f11abc
commit-date: 2022-01-19
host: x86_64-unknown-linux-gnu
release: 1.60.0-nightly
LLVM version: 13.0.0

Error output

rustc fs/dir_builder.rs -Wrust-2021-incompatible-closure-captures

error[E0670]: `async fn` is not permitted in Rust 2015
 --> ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:5
  |
4 |     async fn create(path: impl AsRef<std::path::Path>)  {
  |     ^^^^^ to use `async fn`, switch to Rust 2018 or later
  |
  = help: set `edition = "2021"` in `Cargo.toml`
  = note: for more on editions, read https://doc.rust-lang.org/edition-guide

error: visibility `crate` is not followed by an item
 --> ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:6:5
  |
6 |     crate(move || {} ).await
  |     ^^^^^ the visibility
  |
  = help: you likely meant to define an item, e.g., `crate fn foo() {}`

warning: unnecessary trailing semicolon
 --> ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:5:5
  |
5 |     ;
  |     ^ help: remove this semicolon
  |
  = note: `#[warn(redundant_semicolons)]` on by default

error[E0601]: `main` function not found in crate `dir_builder`
 --> ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:1:1
  |
1 | / pub struct A {}
2 | |
3 | | impl A {
4 | |     async fn create(path: impl AsRef<std::path::Path>)  {
... |
7 | |     }
8 | | }
  | |_^ consider adding a `main` function to `./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs`

error[E0609]: no field `await` on type `[closure@./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:6:10: 6:23]`
 --> ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:6:24
  |
6 |     crate(move || {} ).await
  |                        ^^^^^
  |
  = note: to `.await` a `Future`, switch to Rust 2018 or later
  = help: set `edition = "2021"` in `Cargo.toml`
  = note: for more on editions, read https://doc.rust-lang.org/edition-guide

error: internal compiler error: compiler/rustc_typeck/src/check/upvar.rs:1715:13: Drop location span error: need to handle more Node ImplItem(ImplItem { ident: create#0, def_id: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), vis: Spanned { node: Inherited, span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:5: 4:5 (#0) }, defaultness: Final, generics: Generics { params: [GenericParam { hir_id: HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 28 }, name: Plain(impl AsRef<std::path::Path>#0), bounds: [Trait(PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: Path { span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:32: 4:54 (#0), res: Def(Trait, DefId(2:2908 ~ core[3f36]::convert::AsRef)), segments: [PathSegment { ident: AsRef#0, hir_id: Some(HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 26 }), res: Some(Def(Trait, DefId(2:2908 ~ core[3f36]::convert::AsRef))), args: Some(GenericArgs { args: [Type(Ty { hir_id: HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 22 }, kind: Path(Resolved(None, Path { span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:38: 4:53 (#0), res: Def(Struct, DefId(1:7232 ~ std[fc96]::path::Path)), segments: [PathSegment { ident: std#0, hir_id: Some(HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 23 }), res: Some(Def(Mod, DefId(1:0 ~ std[fc96]))), args: None, infer_args: false }, PathSegment { ident: path#0, hir_id: Some(HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 24 }), res: Some(Def(Mod, DefId(1:6925 ~ std[fc96]::path))), args: None, infer_args: false }, PathSegment { ident: Path#0, hir_id: Some(HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 25 }), res: Some(Err), args: None, infer_args: false }] })), span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:38: 4:53 (#0) })], bindings: [], parenthesized: false, span_ext: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:37: 4:54 (#0) }), infer_args: false }] }, hir_ref_id: HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 27 } }, span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:32: 4:54 (#0) }, None)], span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:27: 4:54 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: true } }], where_clause: WhereClause { predicates: [], span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:55: 4:55 (#0) }, span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:20: 4:20 (#0) }, kind: Fn(FnSig { header: FnHeader { unsafety: Normal, constness: NotConst, asyncness: Async, abi: Rust }, decl: FnDecl { inputs: [Ty { hir_id: HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 29 }, kind: Path(Resolved(None, Path { span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:27: 4:54 (#0), res: Def(TyParam, DefId(0:7 ~ dir_builder[6e27]::{impl#0}::create::{opaque#1})), segments: [PathSegment { ident: impl AsRef<std::path::Path>#0, hir_id: None, res: None, args: None, infer_args: true }] })), span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:27: 4:54 (#0) }], output: Return(Ty { hir_id: HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 30 }, kind: OpaqueDef(ItemId { def_id: DefId(0:6 ~ dir_builder[6e27]::{impl#0}::create::{opaque#0}) }, []), span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:57: 4:57 (#6) }), c_variadic: false, implicit_self: None }, span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:5: 4:55 (#0) }, BodyId { hir_id: HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 21 } }), span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:5: 7:6 (#0) })

thread 'rustc' panicked at 'Box<dyn Any>', compiler/rustc_errors/src/lib.rs:1169:9
note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

note: the compiler unexpectedly panicked. this is a bug.

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.60.0-nightly (5e57faa78 2022-01-19) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [typeck] type-checking `<impl at ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:3:1: 8:2>::create`
#1 [mir_built] building MIR for `<impl at ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:3:1: 8:2>::create`
end of query stack
error: aborting due to 5 previous errors; 1 warning emitted

Some errors have detailed explanations: E0601, E0609, E0670.
For more information about an error, try `rustc --explain E0601`.
Backtrace

error: internal compiler error: compiler/rustc_typeck/src/check/upvar.rs:1715:13: Drop location span error: need to handle more Node ImplItem(ImplItem { ident: create#0, def_id: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), vis: Spanned { node: Inherited, span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:5: 4:5 (#0) }, defaultness: Final, generics: Generics { params: [GenericParam { hir_id: HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 28 }, name: Plain(impl AsRef<std::path::Path>#0), bounds: [Trait(PolyTraitRef { bound_generic_params: [], trait_ref: TraitRef { path: Path { span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:32: 4:54 (#0), res: Def(Trait, DefId(2:2908 ~ core[3f36]::convert::AsRef)), segments: [PathSegment { ident: AsRef#0, hir_id: Some(HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 26 }), res: Some(Def(Trait, DefId(2:2908 ~ core[3f36]::convert::AsRef))), args: Some(GenericArgs { args: [Type(Ty { hir_id: HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 22 }, kind: Path(Resolved(None, Path { span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:38: 4:53 (#0), res: Def(Struct, DefId(1:7232 ~ std[fc96]::path::Path)), segments: [PathSegment { ident: std#0, hir_id: Some(HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 23 }), res: Some(Def(Mod, DefId(1:0 ~ std[fc96]))), args: None, infer_args: false }, PathSegment { ident: path#0, hir_id: Some(HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 24 }), res: Some(Def(Mod, DefId(1:6925 ~ std[fc96]::path))), args: None, infer_args: false }, PathSegment { ident: Path#0, hir_id: Some(HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 25 }), res: Some(Err), args: None, infer_args: false }] })), span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:38: 4:53 (#0) })], bindings: [], parenthesized: false, span_ext: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:37: 4:54 (#0) }), infer_args: false }] }, hir_ref_id: HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 27 } }, span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:32: 4:54 (#0) }, None)], span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:27: 4:54 (#0), pure_wrt_drop: false, kind: Type { default: None, synthetic: true } }], where_clause: WhereClause { predicates: [], span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:55: 4:55 (#0) }, span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:20: 4:20 (#0) }, kind: Fn(FnSig { header: FnHeader { unsafety: Normal, constness: NotConst, asyncness: Async, abi: Rust }, decl: FnDecl { inputs: [Ty { hir_id: HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 29 }, kind: Path(Resolved(None, Path { span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:27: 4:54 (#0), res: Def(TyParam, DefId(0:7 ~ dir_builder[6e27]::{impl#0}::create::{opaque#1})), segments: [PathSegment { ident: impl AsRef<std::path::Path>#0, hir_id: None, res: None, args: None, infer_args: true }] })), span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:27: 4:54 (#0) }], output: Return(Ty { hir_id: HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 30 }, kind: OpaqueDef(ItemId { def_id: DefId(0:6 ~ dir_builder[6e27]::{impl#0}::create::{opaque#0}) }, []), span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:57: 4:57 (#6) }), c_variadic: false, implicit_self: None }, span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:5: 4:55 (#0) }, BodyId { hir_id: HirId { owner: DefId(0:5 ~ dir_builder[6e27]::{impl#0}::create), local_id: 21 } }), span: ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:4:5: 7:6 (#0) })

thread 'rustc' panicked at 'Box<dyn Any>', compiler/rustc_errors/src/lib.rs:1169:9
stack backtrace:
   0:     0x7f1ddcf361cc - std::backtrace_rs::backtrace::libunwind::trace::h315e9be67c5e5a8c
                               at /rustc/5e57faa78aa7661c6000204591558f6665f11abc/library/std/src/../../backtrace/src/backtrace/libunwind.rs:93:5
   1:     0x7f1ddcf361cc - std::backtrace_rs::backtrace::trace_unsynchronized::h867d89e40d9a37e3
                               at /rustc/5e57faa78aa7661c6000204591558f6665f11abc/library/std/src/../../backtrace/src/backtrace/mod.rs:66:5
   2:     0x7f1ddcf361cc - std::sys_common::backtrace::_print_fmt::h506d0e14f1ac2504
                               at /rustc/5e57faa78aa7661c6000204591558f6665f11abc/library/std/src/sys_common/backtrace.rs:67:5
   3:     0x7f1ddcf361cc - <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt::h418fe1eb1dd94bd4
                               at /rustc/5e57faa78aa7661c6000204591558f6665f11abc/library/std/src/sys_common/backtrace.rs:46:22
   4:     0x7f1ddcf9741c - core::fmt::write::he0a90ee610a388fd
                               at /rustc/5e57faa78aa7661c6000204591558f6665f11abc/library/core/src/fmt/mod.rs:1168:17
   5:     0x7f1ddcf258b3 - std::io::Write::write_fmt::haf0d3ff90849f285
                               at /rustc/5e57faa78aa7661c6000204591558f6665f11abc/library/std/src/io/mod.rs:1653:15
   6:     0x7f1ddcf3a962 - std::sys_common::backtrace::_print::h9b304fbd7604ed2b
                               at /rustc/5e57faa78aa7661c6000204591558f6665f11abc/library/std/src/sys_common/backtrace.rs:49:5
   7:     0x7f1ddcf3a962 - std::sys_common::backtrace::print::he315e3f0e9300403
                               at /rustc/5e57faa78aa7661c6000204591558f6665f11abc/library/std/src/sys_common/backtrace.rs:36:9
   8:     0x7f1ddcf3a962 - std::panicking::default_hook::{{closure}}::h79880375c05b275b
                               at /rustc/5e57faa78aa7661c6000204591558f6665f11abc/library/std/src/panicking.rs:290:50
   9:     0x7f1ddcf3a545 - std::panicking::default_hook::h7702c74b86c50f19
                               at /rustc/5e57faa78aa7661c6000204591558f6665f11abc/library/std/src/panicking.rs:307:9
  10:     0x7f1ddd72dc81 - rustc_driver[7edf991b0fcf9642]::DEFAULT_HOOK::{closure#0}::{closure#0}
  11:     0x7f1ddcf3b12c - std::panicking::rust_panic_with_hook::hea4f865870dc8a18
                               at /rustc/5e57faa78aa7661c6000204591558f6665f11abc/library/std/src/panicking.rs:689:17
  12:     0x7f1dde825f4b - std[fc96f19dffd05b49]::panicking::begin_panic::<rustc_errors[4cb730068b279917]::ExplicitBug>::{closure#0}
  13:     0x7f1dde825f06 - std[fc96f19dffd05b49]::sys_common::backtrace::__rust_end_short_backtrace::<std[fc96f19dffd05b49]::panicking::begin_panic<rustc_errors[4cb730068b279917]::ExplicitBug>::{closure#0}, !>
  14:     0x7f1dde82b19f - std[fc96f19dffd05b49]::panicking::begin_panic::<rustc_errors[4cb730068b279917]::ExplicitBug>
  15:     0x7f1dde835bdd - std[fc96f19dffd05b49]::panic::panic_any::<rustc_errors[4cb730068b279917]::ExplicitBug>
  16:     0x7f1dde834e6d - <rustc_errors[4cb730068b279917]::HandlerInner>::bug
  17:     0x7f1dde834950 - <rustc_errors[4cb730068b279917]::Handler>::bug
  18:     0x7f1dde78a15e - rustc_middle[9a1d3b769b0c4e46]::ty::context::tls::with_opt::<rustc_middle[9a1d3b769b0c4e46]::util::bug::opt_span_bug_fmt<rustc_span[282b2b74c0b04d42]::span_encoding::Span>::{closure#0}, ()>
  19:     0x7f1dde78ab70 - rustc_middle[9a1d3b769b0c4e46]::util::bug::opt_span_bug_fmt::<rustc_span[282b2b74c0b04d42]::span_encoding::Span>
  20:     0x7f1dde78aae6 - rustc_middle[9a1d3b769b0c4e46]::util::bug::bug_fmt
  21:     0x7f1ddda57391 - rustc_typeck[929faa07ed828302]::check::upvar::drop_location_span
  22:     0x7f1dddac677f - <<rustc_typeck[929faa07ed828302]::check::fn_ctxt::FnCtxt>::perform_2229_migration_anaysis::{closure#0} as core[3f3685a75deb7b4a]::ops::function::FnOnce<(rustc_middle[9a1d3b769b0c4e46]::lint::LintDiagnosticBuilder,)>>::call_once::{shim:vtable#0}
  23:     0x7f1ddf46e226 - rustc_middle[9a1d3b769b0c4e46]::lint::struct_lint_level::struct_lint_level_impl
  24:     0x7f1dddaccbec - rustc_middle[9a1d3b769b0c4e46]::lint::struct_lint_level::<<rustc_typeck[929faa07ed828302]::check::fn_ctxt::FnCtxt>::perform_2229_migration_anaysis::{closure#0}>
  25:     0x7f1ddda4d66c - <rustc_middle[9a1d3b769b0c4e46]::ty::context::TyCtxt>::struct_span_lint_hir::<rustc_span[282b2b74c0b04d42]::span_encoding::Span, <rustc_typeck[929faa07ed828302]::check::fn_ctxt::FnCtxt>::perform_2229_migration_anaysis::{closure#0}>
  26:     0x7f1ddf7f389b - <rustc_typeck[929faa07ed828302]::check::fn_ctxt::FnCtxt>::analyze_closure
  27:     0x7f1ddeb4e68f - <rustc_typeck[929faa07ed828302]::check::upvar::InferBorrowKindVisitor as rustc_hir[ebe0da061a745433]::intravisit::Visitor>::visit_expr
  28:     0x7f1ddeb6d7da - rustc_hir[ebe0da061a745433]::intravisit::walk_expr::<rustc_typeck[929faa07ed828302]::check::upvar::InferBorrowKindVisitor>
  29:     0x7f1ddeb69761 - rustc_hir[ebe0da061a745433]::intravisit::walk_body::<rustc_typeck[929faa07ed828302]::check::upvar::InferBorrowKindVisitor>
  30:     0x7f1ddeb78c59 - <rustc_infer[36dd0a33af739393]::infer::InferCtxtBuilder>::enter::<&rustc_middle[9a1d3b769b0c4e46]::ty::context::TypeckResults, <rustc_typeck[929faa07ed828302]::check::inherited::InheritedBuilder>::enter<rustc_typeck[929faa07ed828302]::check::typeck_with_fallback<rustc_typeck[929faa07ed828302]::check::typeck::{closure#0}>::{closure#1}, &rustc_middle[9a1d3b769b0c4e46]::ty::context::TypeckResults>::{closure#0}>
  31:     0x7f1ddeb4f415 - rustc_typeck[929faa07ed828302]::check::typeck
  32:     0x7f1ddefe923d - rustc_query_system[dc1089d64decff0b]::query::plumbing::try_execute_query::<rustc_query_impl[90f99090871d2c19]::plumbing::QueryCtxt, rustc_query_system[dc1089d64decff0b]::query::caches::DefaultCache<rustc_span[282b2b74c0b04d42]::def_id::LocalDefId, &rustc_middle[9a1d3b769b0c4e46]::ty::context::TypeckResults>>
  33:     0x7f1ddf05bffc - <rustc_query_impl[90f99090871d2c19]::Queries as rustc_middle[9a1d3b769b0c4e46]::ty::query::QueryEngine>::typeck
  34:     0x7f1ddf44de74 - <rustc_middle[9a1d3b769b0c4e46]::ty::context::TyCtxt>::typeck_opt_const_arg
  35:     0x7f1dded3a753 - rustc_mir_build[333b3491630e56c3]::build::mir_built
  36:     0x7f1ddefd9cb6 - rustc_query_system[dc1089d64decff0b]::query::plumbing::try_execute_query::<rustc_query_impl[90f99090871d2c19]::plumbing::QueryCtxt, rustc_query_system[dc1089d64decff0b]::query::caches::DefaultCache<rustc_middle[9a1d3b769b0c4e46]::ty::WithOptConstParam<rustc_span[282b2b74c0b04d42]::def_id::LocalDefId>, &rustc_data_structures[a242080a6d10bfdb]::steal::Steal<rustc_middle[9a1d3b769b0c4e46]::mir::Body>>>
  37:     0x7f1ddf055df4 - <rustc_query_impl[90f99090871d2c19]::Queries as rustc_middle[9a1d3b769b0c4e46]::ty::query::QueryEngine>::mir_built
  38:     0x7f1ddea945c2 - rustc_mir_transform[4662b8da994d9372]::check_unsafety::unsafety_check_result
  39:     0x7f1ddea8f8b3 - <rustc_mir_transform[4662b8da994d9372]::check_unsafety::provide::{closure#0} as core[3f3685a75deb7b4a]::ops::function::FnOnce<(rustc_middle[9a1d3b769b0c4e46]::ty::context::TyCtxt, rustc_span[282b2b74c0b04d42]::def_id::LocalDefId)>>::call_once
  40:     0x7f1ddefeb09d - rustc_query_system[dc1089d64decff0b]::query::plumbing::try_execute_query::<rustc_query_impl[90f99090871d2c19]::plumbing::QueryCtxt, rustc_query_system[dc1089d64decff0b]::query::caches::DefaultCache<rustc_span[282b2b74c0b04d42]::def_id::LocalDefId, &rustc_middle[9a1d3b769b0c4e46]::mir::query::UnsafetyCheckResult>>
  41:     0x7f1ddf05bbd1 - <rustc_query_impl[90f99090871d2c19]::Queries as rustc_middle[9a1d3b769b0c4e46]::ty::query::QueryEngine>::unsafety_check_result
  42:     0x7f1ddea89c41 - rustc_mir_transform[4662b8da994d9372]::mir_const
  43:     0x7f1ddefd9cb6 - rustc_query_system[dc1089d64decff0b]::query::plumbing::try_execute_query::<rustc_query_impl[90f99090871d2c19]::plumbing::QueryCtxt, rustc_query_system[dc1089d64decff0b]::query::caches::DefaultCache<rustc_middle[9a1d3b769b0c4e46]::ty::WithOptConstParam<rustc_span[282b2b74c0b04d42]::def_id::LocalDefId>, &rustc_data_structures[a242080a6d10bfdb]::steal::Steal<rustc_middle[9a1d3b769b0c4e46]::mir::Body>>>
  44:     0x7f1ddf055f3b - <rustc_query_impl[90f99090871d2c19]::Queries as rustc_middle[9a1d3b769b0c4e46]::ty::query::QueryEngine>::mir_const
  45:     0x7f1ddea8acf7 - rustc_mir_transform[4662b8da994d9372]::mir_promoted
  46:     0x7f1ddefdaefb - rustc_query_system[dc1089d64decff0b]::query::plumbing::try_execute_query::<rustc_query_impl[90f99090871d2c19]::plumbing::QueryCtxt, rustc_query_system[dc1089d64decff0b]::query::caches::DefaultCache<rustc_middle[9a1d3b769b0c4e46]::ty::WithOptConstParam<rustc_span[282b2b74c0b04d42]::def_id::LocalDefId>, (&rustc_data_structures[a242080a6d10bfdb]::steal::Steal<rustc_middle[9a1d3b769b0c4e46]::mir::Body>, &rustc_data_structures[a242080a6d10bfdb]::steal::Steal<rustc_index[f6d6dd55026d2074]::vec::IndexVec<rustc_middle[9a1d3b769b0c4e46]::mir::Promoted, rustc_middle[9a1d3b769b0c4e46]::mir::Body>>)>>
  47:     0x7f1ddf05637f - <rustc_query_impl[90f99090871d2c19]::Queries as rustc_middle[9a1d3b769b0c4e46]::ty::query::QueryEngine>::mir_promoted
  48:     0x7f1ddee7706a - <rustc_borrowck[f8808dfafe525b9e]::provide::{closure#0} as core[3f3685a75deb7b4a]::ops::function::FnOnce<(rustc_middle[9a1d3b769b0c4e46]::ty::context::TyCtxt, rustc_span[282b2b74c0b04d42]::def_id::LocalDefId)>>::call_once
  49:     0x7f1ddefea16f - rustc_query_system[dc1089d64decff0b]::query::plumbing::try_execute_query::<rustc_query_impl[90f99090871d2c19]::plumbing::QueryCtxt, rustc_query_system[dc1089d64decff0b]::query::caches::DefaultCache<rustc_span[282b2b74c0b04d42]::def_id::LocalDefId, &rustc_middle[9a1d3b769b0c4e46]::mir::query::BorrowCheckResult>>
  50:     0x7f1ddf05c28e - <rustc_query_impl[90f99090871d2c19]::Queries as rustc_middle[9a1d3b769b0c4e46]::ty::query::QueryEngine>::mir_borrowck
  51:     0x7f1ddebbc744 - rustc_typeck[929faa07ed828302]::collect::type_of::type_of
  52:     0x7f1ddf0526c1 - <rustc_query_impl[90f99090871d2c19]::Queries as rustc_middle[9a1d3b769b0c4e46]::ty::query::QueryEngine>::type_of
  53:     0x7f1ddebd56ec - rustc_typeck[929faa07ed828302]::check::check::check_item_type
  54:     0x7f1ddebc2755 - <rustc_middle[9a1d3b769b0c4e46]::hir::map::Map>::visit_item_likes_in_module::<rustc_typeck[929faa07ed828302]::check::CheckItemTypesVisitor>
  55:     0x7f1ddf86db1c - rustc_typeck[929faa07ed828302]::check::check::check_mod_item_types
  56:     0x7f1ddefebfc8 - rustc_query_system[dc1089d64decff0b]::query::plumbing::try_execute_query::<rustc_query_impl[90f99090871d2c19]::plumbing::QueryCtxt, rustc_query_system[dc1089d64decff0b]::query::caches::DefaultCache<rustc_span[282b2b74c0b04d42]::def_id::LocalDefId, ()>>
  57:     0x7f1ddfaa0ba3 - rustc_query_system[dc1089d64decff0b]::query::plumbing::get_query::<rustc_query_impl[90f99090871d2c19]::queries::check_mod_item_types, rustc_query_impl[90f99090871d2c19]::plumbing::QueryCtxt>
  58:     0x7f1ddf86016b - <rustc_middle[9a1d3b769b0c4e46]::hir::map::Map>::for_each_module::<rustc_typeck[929faa07ed828302]::check_crate::{closure#6}::{closure#0}>
  59:     0x7f1ddf818820 - <rustc_session[a9ca6573a34d10bc]::session::Session>::time::<(), rustc_typeck[929faa07ed828302]::check_crate::{closure#6}>
  60:     0x7f1ddf812ea3 - rustc_typeck[929faa07ed828302]::check_crate
  61:     0x7f1ddf5ac957 - rustc_interface[b9b947bb2a11cb30]::passes::analysis
  62:     0x7f1ddfa5389a - rustc_query_system[dc1089d64decff0b]::query::plumbing::try_execute_query::<rustc_query_impl[90f99090871d2c19]::plumbing::QueryCtxt, rustc_query_system[dc1089d64decff0b]::query::caches::DefaultCache<(), core[3f3685a75deb7b4a]::result::Result<(), rustc_errors[4cb730068b279917]::ErrorReported>>>
  63:     0x7f1ddfaaddc5 - rustc_query_system[dc1089d64decff0b]::query::plumbing::get_query::<rustc_query_impl[90f99090871d2c19]::queries::analysis, rustc_query_impl[90f99090871d2c19]::plumbing::QueryCtxt>
  64:     0x7f1ddf58ec20 - <rustc_interface[b9b947bb2a11cb30]::interface::Compiler>::enter::<rustc_driver[7edf991b0fcf9642]::run_compiler::{closure#1}::{closure#2}, core[3f3685a75deb7b4a]::result::Result<core[3f3685a75deb7b4a]::option::Option<rustc_interface[b9b947bb2a11cb30]::queries::Linker>, rustc_errors[4cb730068b279917]::ErrorReported>>
  65:     0x7f1ddf570c3c - rustc_span[282b2b74c0b04d42]::with_source_map::<core[3f3685a75deb7b4a]::result::Result<(), rustc_errors[4cb730068b279917]::ErrorReported>, rustc_interface[b9b947bb2a11cb30]::interface::create_compiler_and_run<core[3f3685a75deb7b4a]::result::Result<(), rustc_errors[4cb730068b279917]::ErrorReported>, rustc_driver[7edf991b0fcf9642]::run_compiler::{closure#1}>::{closure#1}>
  66:     0x7f1ddf58dfee - rustc_interface[b9b947bb2a11cb30]::interface::create_compiler_and_run::<core[3f3685a75deb7b4a]::result::Result<(), rustc_errors[4cb730068b279917]::ErrorReported>, rustc_driver[7edf991b0fcf9642]::run_compiler::{closure#1}>
  67:     0x7f1ddf57216b - <scoped_tls[f0c9d0f769d852d6]::ScopedKey<rustc_span[282b2b74c0b04d42]::SessionGlobals>>::set::<rustc_interface[b9b947bb2a11cb30]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface[b9b947bb2a11cb30]::interface::run_compiler<core[3f3685a75deb7b4a]::result::Result<(), rustc_errors[4cb730068b279917]::ErrorReported>, rustc_driver[7edf991b0fcf9642]::run_compiler::{closure#1}>::{closure#0}, core[3f3685a75deb7b4a]::result::Result<(), rustc_errors[4cb730068b279917]::ErrorReported>>::{closure#0}::{closure#0}, core[3f3685a75deb7b4a]::result::Result<(), rustc_errors[4cb730068b279917]::ErrorReported>>
  68:     0x7f1ddf571f75 - std[fc96f19dffd05b49]::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface[b9b947bb2a11cb30]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface[b9b947bb2a11cb30]::interface::run_compiler<core[3f3685a75deb7b4a]::result::Result<(), rustc_errors[4cb730068b279917]::ErrorReported>, rustc_driver[7edf991b0fcf9642]::run_compiler::{closure#1}>::{closure#0}, core[3f3685a75deb7b4a]::result::Result<(), rustc_errors[4cb730068b279917]::ErrorReported>>::{closure#0}, core[3f3685a75deb7b4a]::result::Result<(), rustc_errors[4cb730068b279917]::ErrorReported>>
  69:     0x7f1ddf59e359 - <<std[fc96f19dffd05b49]::thread::Builder>::spawn_unchecked<rustc_interface[b9b947bb2a11cb30]::util::setup_callbacks_and_run_in_thread_pool_with_globals<rustc_interface[b9b947bb2a11cb30]::interface::run_compiler<core[3f3685a75deb7b4a]::result::Result<(), rustc_errors[4cb730068b279917]::ErrorReported>, rustc_driver[7edf991b0fcf9642]::run_compiler::{closure#1}>::{closure#0}, core[3f3685a75deb7b4a]::result::Result<(), rustc_errors[4cb730068b279917]::ErrorReported>>::{closure#0}, core[3f3685a75deb7b4a]::result::Result<(), rustc_errors[4cb730068b279917]::ErrorReported>>::{closure#1} as core[3f3685a75deb7b4a]::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
  70:     0x7f1ddcf46643 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::heeb75755ed03348f
                               at /rustc/5e57faa78aa7661c6000204591558f6665f11abc/library/alloc/src/boxed.rs:1854:9
  71:     0x7f1ddcf46643 - <alloc::boxed::Box<F,A> as core::ops::function::FnOnce<Args>>::call_once::hce572fadd0b0fd27
                               at /rustc/5e57faa78aa7661c6000204591558f6665f11abc/library/alloc/src/boxed.rs:1854:9
  72:     0x7f1ddcf46643 - std::sys::unix::thread::Thread::new::thread_start::h2f7de4f5b22afc6b
                               at /rustc/5e57faa78aa7661c6000204591558f6665f11abc/library/std/src/sys/unix/thread.rs:108:17
  73:     0x7f1ddce4b259 - start_thread
  74:     0x7f1ddcd675e3 - __GI___clone
  75:                0x0 - <unknown>

note: the compiler unexpectedly panicked. this is a bug.

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.60.0-nightly (5e57faa78 2022-01-19) running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [typeck] type-checking `<impl at ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:3:1: 8:2>::create`
#1 [mir_built] building MIR for `<impl at ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:3:1: 8:2>::create`
#2 [unsafety_check_result] unsafety-checking `<impl at ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:3:1: 8:2>::create`
#3 [mir_const] processing MIR for `<impl at ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:3:1: 8:2>::create`
#4 [mir_promoted] processing `<impl at ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:3:1: 8:2>::create`
#5 [mir_borrowck] borrow-checking `<impl at ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:3:1: 8:2>::create`
#6 [type_of] computing type of `<impl at ./src/github.com-1ecc6299db9ec823/tokio-1.15.0/src/fs/dir_builder.rs:3:1: 8:2>::create::{opaque#0}`
#7 [check_mod_item_types] checking item types in top-level module
#8 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to 5 previous errors; 1 warning emitted

Some errors have detailed explanations: E0601, E0609, E0670.
For more information about an error, try `rustc --explain E0601`.

@matthiaskrgr matthiaskrgr added C-bug Category: This is a bug. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels Jan 20, 2022
@rust-lang-glacier-bot rust-lang-glacier-bot added the glacier ICE tracked in rust-lang/glacier. label Jan 23, 2022
@matthiaskrgr matthiaskrgr added the A-diagnostics Area: Messages for errors, warnings, and lints label Mar 20, 2022
@matthiaskrgr
Copy link
Member Author

another example:

trait C{async fn new(val: T) {}

Dylan-DPC added a commit to Dylan-DPC/rust that referenced this issue Jul 1, 2022
…_inc_clos_cap, r=lcnr

fix ICE with -Wrust-2021-incompatible-closure-captures

Fixes rust-lang#93117
Fixes rust-lang#96258
@bors bors closed this as completed in 7dc0489 Jul 1, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
A-diagnostics Area: Messages for errors, warnings, and lints C-bug Category: This is a bug. glacier ICE tracked in rust-lang/glacier. I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants