This issue might be related to https://github.com/rust-lang/rust/issues/52023 , which has been fixed in https://github.com/rust-lang/rust/pull/52314 ```Rust fn main() { [(); &(static |x| {}) as *const _ as usize] } ``` playground link: https://play.rust-lang.org/?gist=b0d76bcfc33acb632a1527d8a9a97c84&version=nightly&mode=debug&edition=2015 Backtrace: ``` error[E0697]: closures cannot be static --> src\lib.rs:143:16 | 143 | [(); &(static |x| {}) as *const _ as usize] | ^^^^^^^^^^ error: internal compiler error: librustc_mir\hair\cx\expr.rs:286: type of & not region --> src\lib.rs:143:15 | 143 | [(); &(static |x| {}) as *const _ as usize] | ^^^^^^^^^^^^^^^ thread 'main' panicked at 'Box<Any>', librustc_errors\lib.rs:499:9 stack backtrace: 0: <std::sys::windows::args::Args as core::ops::drop::Drop>::drop 1: std::error::<impl core::convert::From<alloc::borrow::Cow<'b, str>> for alloc::boxed::Box<(dyn std::error::Error + core::marker::Sync + core::marker::Send + 'a)>>::from 2: std::panicking::take_hook 3: std::panicking::take_hook 4: <rustc::ty::SymbolName as core::fmt::Display>::fmt 5: std::panicking::rust_panic_with_hook 6: <rustc_mir::dataflow::move_paths::indexes::BorrowIndex as rustc_data_structures::indexed_vec::Idx>::new 7: <rustc_mir::dataflow::graphviz::Edge as core::fmt::Debug>::fmt 8: <unknown> 9: <unknown> 10: <unknown> 11: <unknown> 12: <unknown> 13: <unknown> 14: rustc_mir::dataflow::move_paths::MoveData::gather_moves 15: rustc_mir::hair::cx::expr::<impl rustc_mir::hair::Mirror<'tcx> for &'tcx rustc::hir::Expr>::make_mirror 16: <rustc_mir::hair::ExprRef<'tcx> as rustc_mir::hair::Mirror<'tcx>>::make_mirror 17: <rustc_mir::build::GlobalizeMir<'a, 'gcx> as rustc::mir::visit::MutVisitor<'tcx>>::visit_substs 18: <rustc_mir::build::GlobalizeMir<'a, 'gcx> as rustc::mir::visit::MutVisitor<'tcx>>::visit_substs 19: <rustc_mir::build::GlobalizeMir<'a, 'gcx> as rustc::mir::visit::MutVisitor<'tcx>>::visit_substs 20: <rustc_mir::build::GlobalizeMir<'a, 'gcx> as rustc::mir::visit::MutVisitor<'tcx>>::visit_substs 21: <rustc_mir::build::GlobalizeMir<'a, 'gcx> as rustc::mir::visit::MutVisitor<'tcx>>::visit_substs 22: <rustc_mir::build::GlobalizeMir<'a, 'gcx> as rustc::mir::visit::MutVisitor<'tcx>>::visit_substs 23: <rustc_mir::build::GlobalizeMir<'a, 'gcx> as rustc::mir::visit::MutVisitor<'tcx>>::visit_substs 24: <rustc_mir::build::GlobalizeMir<'a, 'gcx> as rustc::mir::visit::MutVisitor<'tcx>>::visit_substs 25: <rustc_mir::build::GlobalizeMir<'a, 'gcx> as rustc::mir::visit::MutVisitor<'tcx>>::visit_substs 26: <rustc_mir::build::GlobalizeMir<'a, 'gcx> as rustc::mir::visit::MutVisitor<'tcx>>::visit_substs 27: <rustc_mir::build::GlobalizeMir<'a, 'gcx> as rustc::mir::visit::MutVisitor<'tcx>>::visit_substs 28: <rustc_mir::build::GlobalizeMir<'a, 'gcx> as rustc::mir::visit::MutVisitor<'tcx>>::visit_substs 29: <unknown> 30: <rustc_mir::interpret::eval_context::ValTy<'tcx> as core::fmt::Debug>::fmt 31: rustc_mir::build::mir_build 32: rustc_mir::transform::mir_built 33: rustc::ty::query::on_disk_cache::__ty_decoder_impl::<impl serialize::serialize::Decoder for rustc::ty::query::on_disk_cache::CacheDecoder<'a, 'tcx, 'x>>::read_str 34: rustc::ty::context::tls::track_diagnostic 35: rustc::ty::context::tls::track_diagnostic 36: rustc::dep_graph::graph::DepGraph::assert_ignored 37: rustc::ty::context::tls::track_diagnostic 38: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack 39: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack 40: rustc::ty::query::<impl rustc::ty::context::TyCtxt<'a, 'tcx, 'lcx>>::mir_built 41: <rustc_mir::transform::check_unsafety::UnusedUnsafeVisitor<'a> as rustc::hir::intravisit::Visitor<'tcx>>::visit_block 42: rustc::ty::query::on_disk_cache::__ty_decoder_impl::<impl serialize::serialize::Decoder for rustc::ty::query::on_disk_cache::CacheDecoder<'a, 'tcx, 'x>>::read_str 43: rustc::ty::context::tls::track_diagnostic 44: rustc::ty::context::tls::track_diagnostic 45: rustc::dep_graph::graph::DepGraph::assert_ignored 46: rustc::ty::context::tls::track_diagnostic 47: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack 48: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack 49: rustc::ty::query::<impl rustc::ty::context::TyCtxt<'a, 'tcx, 'lcx>>::unsafety_check_result 50: rustc_mir::transform::mir_const 51: rustc::ty::query::on_disk_cache::__ty_decoder_impl::<impl serialize::serialize::Decoder for rustc::ty::query::on_disk_cache::CacheDecoder<'a, 'tcx, 'x>>::read_str 52: rustc::ty::context::tls::track_diagnostic 53: rustc::ty::context::tls::track_diagnostic 54: rustc::dep_graph::graph::DepGraph::assert_ignored 55: rustc::ty::context::tls::track_diagnostic 56: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack 57: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack 58: rustc::ty::query::<impl rustc::ty::context::TyCtxt<'a, 'tcx, 'lcx>>::mir_const 59: rustc_mir::transform::qualify_consts::provide 60: rustc::ty::context::tls::track_diagnostic 61: rustc::ty::context::tls::track_diagnostic 62: rustc::dep_graph::graph::DepGraph::assert_ignored 63: rustc::ty::context::tls::track_diagnostic 64: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack 65: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack 66: rustc::ty::query::<impl rustc::ty::context::TyCtxt<'a, 'tcx, 'lcx>>::mir_const_qualif 67: rustc_mir::interpret::const_eval::const_eval_provider 68: rustc::ty::query::on_disk_cache::__ty_decoder_impl::<impl serialize::serialize::Decoder for rustc::ty::query::on_disk_cache::CacheDecoder<'a, 'tcx, 'x>>::read_str 69: rustc::ty::context::tls::track_diagnostic 70: rustc::ty::context::tls::track_diagnostic 71: rustc::dep_graph::graph::DepGraph::assert_ignored 72: rustc::ty::context::tls::track_diagnostic 73: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack 74: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack 75: rustc::ty::query::<impl rustc::ty::context::TyCtxt<'a, 'tcx, 'lcx>>::const_eval 76: <rustc_typeck::check::FnCtxt<'a, 'gcx, 'tcx> as rustc_typeck::astconv::AstConv<'gcx, 'tcx>>::record_ty 77: <rustc_typeck::check::FnCtxt<'a, 'gcx, 'tcx> as rustc_typeck::astconv::AstConv<'gcx, 'tcx>>::record_ty 78: <rustc_typeck::check::FnCtxt<'a, 'gcx, 'tcx> as rustc_typeck::astconv::AstConv<'gcx, 'tcx>>::record_ty 79: <rustc_typeck::check::FnCtxt<'a, 'gcx, 'tcx> as rustc_typeck::astconv::AstConv<'gcx, 'tcx>>::record_ty 80: <rustc_typeck::check::FnCtxt<'a, 'gcx, 'tcx> as rustc_typeck::astconv::AstConv<'gcx, 'tcx>>::record_ty 81: <rustc_typeck::check::FnCtxt<'a, 'gcx, 'tcx> as rustc_typeck::astconv::AstConv<'gcx, 'tcx>>::record_ty 82: <rustc_typeck::check::GatherLocalsVisitor<'a, 'gcx, 'tcx> as rustc::hir::intravisit::Visitor<'gcx>>::visit_pat 83: <rustc_typeck::collect::has_late_bound_regions::LateBoundRegionsDetector<'a, 'tcx> as rustc::hir::intravisit::Visitor<'tcx>>::visit_lifetime 84: <rustc_typeck::check::method::probe::ProbeScope as core::fmt::Debug>::fmt 85: <rustc_typeck::check::CheckItemTypesVisitor<'a, 'tcx> as rustc::hir::itemlikevisit::ItemLikeVisitor<'tcx>>::visit_item 86: rustc::ty::query::on_disk_cache::__ty_decoder_impl::<impl serialize::serialize::Decoder for rustc::ty::query::on_disk_cache::CacheDecoder<'a, 'tcx, 'x>>::read_str 87: rustc::ty::context::tls::track_diagnostic 88: rustc::ty::context::tls::track_diagnostic 89: rustc::dep_graph::graph::DepGraph::assert_ignored 90: rustc::ty::context::tls::track_diagnostic 91: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack 92: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack 93: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack 94: <rustc_typeck::check::CheckItemTypesVisitor<'a, 'tcx> as rustc::hir::itemlikevisit::ItemLikeVisitor<'tcx>>::visit_item 95: rustc::ty::context::tls::track_diagnostic 96: rustc::ty::context::tls::track_diagnostic 97: rustc::dep_graph::graph::DepGraph::assert_ignored 98: rustc::ty::context::tls::track_diagnostic 99: rustc::ty::query::plumbing::<impl rustc::ty::context::TyCtxt<'a, 'gcx, 'tcx>>::try_print_query_stack query stack during panic: #0 [mir_built] processing `internal_compiler_errors::type_not_region::{{constant}}` #1 [unsafety_check_result] processing `internal_compiler_errors::type_not_region::{{constant}}` #2 [mir_const] processing `internal_compiler_errors::type_not_region::{{constant}}` #3 [mir_const_qualif] processing `internal_compiler_errors::type_not_region::{{constant}}` #4 [const_eval] const-evaluating `internal_compiler_errors::type_not_region::{{constant}}` #5 [typeck_tables_of] processing `internal_compiler_errors::type_not_region` #6 [typeck_item_bodies] type-checking all item bodies end of query stack error: aborting due to 2 previous errors For more information about this error, try `rustc --explain E0697`. note: the compiler unexpectedly panicked. this is a bug. note: we would appreciate a bug report: https://github.com/rust-lang/rust/blob/master/CONTRIBUTING.md#bug-reports note: rustc 1.29.0-nightly (31f1bc7b4 2018-07-15) running on x86_64-pc-windows-msvc note: compiler flags: -C debuginfo=2 -C incremental --crate-type lib note: some of the compiler flags provided by cargo are hidden error: Could not compile `test_bugs`. ```