Closed
Description
I'm not sure this counts as minimized. I'm running into #84970 while working on #86011. When either applying or reverting those changes, I get the relevant ICE while running UI tests, if the incremental compilation caches for the tests haven't been cleared. I guess I should expect this sort of thing to happen, but I figured you might want to know some details.
Meta
rustc --version --verbose
:
rustc 1.54.0-dev
binary: rustc
commit-hash: unknown
commit-date: unknown
host: x86_64-apple-darwin
release: 1.54.0-dev
LLVM version: 12.0.1
Error output
(without -Z treat-err-as-bug
; shows an additional error)
---- [ui] ui/async-await/issues/issue-64964.rs stdout ----
error: test compilation failed although it shouldn't!
status: exit status: 1
command: "/Users/tlyu/src/rust-lang/rust/build/x86_64-apple-darwin/stage1/bin/rustc" "/Users/tlyu/src/rust-lang/rust/src/test/ui/async-await/issues/issue-64964.rs" "-Zthreads=1" "--target=x86_64-apple-darwin" "--error-format" "json" "-Ccodegen-units=1" "-Zui-testing" "-Zdeduplicate-diagnostics=no" "-Zemit-future-incompat-report" "--emit" "metadata" "-C" "prefer-dynamic" "--out-dir" "/Users/tlyu/src/rust-lang/rust/build/x86_64-apple-darwin/test/ui/async-await/issues/issue-64964" "-A" "unused" "-Crpath" "-O" "-Cdebuginfo=0" "-Zunstable-options" "-Lnative=/Users/tlyu/src/rust-lang/rust/build/x86_64-apple-darwin/native/rust-test-helpers" "-Z" "query-dep-graph" "-C" "incremental=tmp/issue-64964" "--edition=2018" "-L" "/Users/tlyu/src/rust-lang/rust/build/x86_64-apple-darwin/test/ui/async-await/issues/issue-64964/auxiliary"
stdout:
------------------------------------------
------------------------------------------
stderr:
------------------------------------------
error: internal compiler error: encountered incremental compilation error with explicit_item_bounds(core[d1d7]::future::from_generator::{opaque#0})
|
= help: This is a known issue with the compiler. Run `cargo clean` to allow your project to compile
= note: Please follow the instructions below to create a bug report with the provided information
= note: See <https://github.com/rust-lang/rust/issues/84970> for more information
error[E0391]: cycle detected when finding item bounds for `std::future::from_generator::{opaque#0}`
--> /Users/tlyu/src/rust-lang/rust/library/core/src/future/mod.rs:61:43
|
LL | pub const fn from_generator<T>(gen: T) -> impl Future<Output = T::Return>
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= note: ...which again requires finding item bounds for `std::future::from_generator::{opaque#0}`, completing the cycle
= note: cycle used when privacy access levels
error: aborting due to 2 previous errors
For more information about this error, try `rustc --explain E0391`.
------------------------------------------
Backtrace
thread 'rustc' panicked at 'aborting due to `-Z treat-err-as-bug=1`', compiler/rustc_errors/src/lib.rs:1039:27
stack backtrace:
0: std::panicking::begin_panic
1: rustc_errors::HandlerInner::emit_diagnostic
2: rustc_errors::Handler::emit_diagnostic
3: rustc_errors::diagnostic_builder::DiagnosticBuilder::emit
4: rustc_query_system::query::plumbing::incremental_verify_ich
5: rustc_query_system::query::plumbing::load_from_disk_and_cache_in_memory
6: rustc_data_structures::stack::ensure_sufficient_stack
7: rustc_query_system::query::plumbing::get_query_impl
8: rustc_query_system::query::plumbing::get_query
9: <rustc_privacy::DefIdVisitorSkeleton<V> as rustc_middle::ty::fold::TypeVisitor>::visit_ty
10: rustc_privacy::DefIdVisitor::visit
11: rustc_privacy::ReachEverythingInTheInterfaceVisitor::ty
12: <rustc_privacy::EmbargoVisitor as rustc_hir::intravisit::Visitor>::visit_item
13: rustc_hir::intravisit::Visitor::visit_nested_item
14: rustc_hir::intravisit::walk_ty
15: rustc_hir::intravisit::walk_impl_item
16: rustc_hir::intravisit::Visitor::visit_nested_impl_item
17: rustc_hir::intravisit::walk_item
18: <rustc_privacy::EmbargoVisitor as rustc_hir::intravisit::Visitor>::visit_item
19: rustc_hir::intravisit::Visitor::visit_nested_item
20: rustc_hir::intravisit::walk_mod
21: <rustc_privacy::EmbargoVisitor as rustc_hir::intravisit::Visitor>::visit_mod
22: rustc_hir::intravisit::walk_crate
23: rustc_privacy::privacy_access_levels
24: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
25: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
26: rustc_data_structures::stack::ensure_sufficient_stack
27: rustc_query_system::query::plumbing::force_query_with_job
28: rustc_query_system::query::plumbing::get_query_impl
29: rustc_query_system::query::plumbing::get_query
30: <std::panic::AssertUnwindSafe<F> as core::ops::function::FnOnce<()>>::call_once
31: std::panicking::try
32: rustc_session::utils::<impl rustc_session::session::Session>::time
33: rustc_interface::passes::analysis
34: rustc_middle::dep_graph::<impl rustc_query_system::dep_graph::DepKind for rustc_middle::dep_graph::dep_node::DepKind>::with_deps
35: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
36: rustc_query_system::dep_graph::graph::DepGraph<K>::with_eval_always_task
37: rustc_data_structures::stack::ensure_sufficient_stack
38: rustc_query_system::query::plumbing::force_query_with_job
39: rustc_query_system::query::plumbing::get_query_impl
40: rustc_query_system::query::plumbing::get_query
41: rustc_middle::ty::query::TyCtxtAt::analysis
at ./compiler/rustc_middle/src/ty/query/mod.rs:205:17
42: rustc_middle::ty::query::<impl rustc_middle::ty::context::TyCtxt>::analysis
at ./compiler/rustc_middle/src/ty/query/mod.rs:186:17
43: rustc_driver::run_compiler::{{closure}}::{{closure}}::{{closure}}
at ./compiler/rustc_driver/src/lib.rs:391:30
44: rustc_interface::passes::QueryContext::enter::{{closure}}
at ./compiler/rustc_interface/src/passes.rs:754:42
45: rustc_middle::ty::context::tls::enter_context::{{closure}}
at ./compiler/rustc_middle/src/ty/context.rs:1723:50
46: rustc_middle::ty::context::tls::set_tlv
at ./compiler/rustc_middle/src/ty/context.rs:1707:9
47: rustc_middle::ty::context::tls::enter_context
at ./compiler/rustc_middle/src/ty/context.rs:1723:9
48: rustc_interface::passes::QueryContext::enter
at ./compiler/rustc_interface/src/passes.rs:754:9
49: rustc_driver::run_compiler::{{closure}}::{{closure}}
at ./compiler/rustc_driver/src/lib.rs:390:13
50: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
at ./compiler/rustc_interface/src/queries.rs:428:19
51: rustc_driver::run_compiler::{{closure}}
at ./compiler/rustc_driver/src/lib.rs:313:22
52: rustc_interface::interface::create_compiler_and_run::{{closure}}
at ./compiler/rustc_interface/src/interface.rs:208:13
53: rustc_span::with_source_map
at ./compiler/rustc_span/src/lib.rs:870:5
54: rustc_interface::interface::create_compiler_and_run
at ./compiler/rustc_interface/src/interface.rs:202:5
55: rustc_interface::interface::run_compiler::{{closure}}
at ./compiler/rustc_interface/src/interface.rs:224:12
56: rustc_interface::util::setup_callbacks_and_run_in_thread_pool_with_globals::{{closure}}::{{closure}}
at ./compiler/rustc_interface/src/util.rs:152:13
57: scoped_tls::ScopedKey<T>::set
at /Users/tlyu/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137:9
58: rustc_span::with_session_globals
at ./compiler/rustc_span/src/lib.rs:104:5
59: rustc_interface::util::setup_callbacks_and_run_in_thread_pool_with_globals::{{closure}}
at ./compiler/rustc_interface/src/util.rs:150:9
60: rustc_interface::util::scoped_thread::{{closure}}
at ./compiler/rustc_interface/src/util.rs:125:24
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.