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: associated type missing default with default impl #72076

Closed
matthewjasper opened this issue May 10, 2020 · 2 comments · Fixed by #72149
Closed

ICE: associated type missing default with default impl #72076

matthewjasper opened this issue May 10, 2020 · 2 comments · Fixed by #72149
Assignees
Labels
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) ❄️ P-medium Medium priority regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. T-compiler Relevant to the compiler team, which will review and decide on the PR/issue.

Comments

@matthewjasper
Copy link
Contributor

I tried this code on nightly:

trait X {
    type S;
    fn f() -> Self::S {}
}

fn main() {}

I expected to see this happen: Mismatched type error

Instead, this happened:

error: internal compiler error: src/librustc_typeck/collect/type_of.rs:51: associated type missing default
 --> <source>:7:5
  |
7 |     type S;
  |     ^^^^^^^

Meta

rustc --version --verbose:

rustc 1.45.0-nightly (bad3bf622 2020-05-09)
binary: rustc
commit-hash: bad3bf622bded50a97c0a54e29350eada2a3a169
commit-date: 2020-05-09
host: x86_64-unknown-linux-gnu
release: 1.45.0-nightly
LLVM version: 9.0
Backtrace

error: internal compiler error: src/librustc_typeck/collect/type_of.rs:51: associated type missing default
 --> temp.rs:2:5
  |
2 |     type S;
  |     ^^^^^^^

thread 'rustc' panicked at 'Box<Any>', /home/matthew/dev/rust/src/libstd/macros.rs:13:23
stack backtrace:
   0: backtrace::backtrace::libunwind::trace
             at /home/matthew/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/libunwind.rs:86
   1: backtrace::backtrace::trace_unsynchronized
             at /home/matthew/.cargo/registry/src/github.com-1ecc6299db9ec823/backtrace-0.3.46/src/backtrace/mod.rs:66
   2: std::sys_common::backtrace::_print_fmt
             at src/libstd/sys_common/backtrace.rs:78
   3: <std::sys_common::backtrace::_print::DisplayBacktrace as core::fmt::Display>::fmt
             at src/libstd/sys_common/backtrace.rs:59
   4: core::fmt::write
             at src/libcore/fmt/mod.rs:1069
   5: std::io::Write::write_fmt
             at src/libstd/io/mod.rs:1537
   6: std::sys_common::backtrace::_print
             at src/libstd/sys_common/backtrace.rs:62
   7: std::sys_common::backtrace::print
             at src/libstd/sys_common/backtrace.rs:49
   8: std::panicking::default_hook::{{closure}}
             at src/libstd/panicking.rs:198
   9: std::panicking::default_hook
             at src/libstd/panicking.rs:218
  10: <alloc::boxed::Box<F> as core::ops::function::Fn<A>>::call
             at ./src/liballoc/boxed.rs:1048
  11: rustc_driver::report_ice
             at src/librustc_driver/lib.rs:1157
  12: std::panicking::rust_panic_with_hook
             at src/libstd/panicking.rs:481
  13: std::panicking::begin_panic
             at ./src/libstd/panicking.rs:404
  14: rustc_errors::HandlerInner::span_bug
             at ./src/libstd/macros.rs:13
  15: rustc_errors::Handler::span_bug
             at ./src/librustc_errors/lib.rs:616
  16: rustc_middle::util::bug::opt_span_bug_fmt::{{closure}}
             at ./src/librustc_middle/util/bug.rs:35
  17: rustc_middle::ty::context::tls::with_opt::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1780
  18: rustc_middle::ty::context::tls::with_context_opt
             at ./src/librustc_middle/ty/context.rs:1732
  19: rustc_middle::ty::context::tls::with_opt
             at ./src/librustc_middle/ty/context.rs:1780
  20: rustc_middle::util::bug::opt_span_bug_fmt
             at ./src/librustc_middle/util/bug.rs:32
  21: rustc_middle::util::bug::span_bug_fmt
             at ./src/librustc_middle/util/bug.rs:23
  22: rustc_typeck::collect::type_of::type_of
             at src/librustc_typeck/collect/type_of.rs:51
  23: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
             at ./src/librustc_query_system/dep_graph/graph.rs:303
  24: rustc_query_system::query::plumbing::force_query_with_job::{{closure}}::{{closure}}
             at ./src/librustc_query_system/query/plumbing.rs:0
  25: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}::{{closure}}::{{closure}}
             at src/librustc_middle/ty/query/plumbing.rs:72
  26: stacker::maybe_grow
             at /home/matthew/.cargo/registry/src/github.com-1ecc6299db9ec823/stacker-0.1.8/src/lib.rs:52
  27: rustc_data_structures::stack::ensure_sufficient_stack
             at ./src/librustc_data_structures/stack.rs:16
  28: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}::{{closure}}
             at src/librustc_middle/ty/query/plumbing.rs:72
  29: rustc_middle::ty::context::tls::enter_context::{{closure}}
             at src/librustc_middle/ty/context.rs:1671
  30: rustc_middle::ty::context::tls::set_tlv
             at src/librustc_middle/ty/context.rs:1655
  31: rustc_middle::ty::context::tls::enter_context
             at src/librustc_middle/ty/context.rs:1671
  32: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}
             at src/librustc_middle/ty/query/plumbing.rs:71
  33: rustc_middle::ty::context::tls::with_related_context::{{closure}}
             at src/librustc_middle/ty/context.rs:1759
  34: rustc_middle::ty::context::tls::with_context::{{closure}}
             at src/librustc_middle/ty/context.rs:1743
  35: rustc_middle::ty::context::tls::with_context_opt
             at src/librustc_middle/ty/context.rs:1732
  36: rustc_middle::ty::context::tls::with_context
             at src/librustc_middle/ty/context.rs:1743
  37: rustc_middle::ty::context::tls::with_related_context
             at src/librustc_middle/ty/context.rs:1756
  38: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query
             at src/librustc_middle/ty/query/plumbing.rs:60
  39: rustc_query_system::query::plumbing::force_query_with_job::{{closure}}
             at ./src/librustc_query_system/query/plumbing.rs:589
  40: rustc_query_system::query::plumbing::with_diagnostics
             at ./src/librustc_query_system/query/plumbing.rs:296
  41: rustc_query_system::query::plumbing::force_query_with_job
             at ./src/librustc_query_system/query/plumbing.rs:588
  42: rustc_query_system::query::plumbing::try_execute_query
             at ./src/librustc_query_system/query/plumbing.rs:415
  43: rustc_query_system::query::plumbing::get_query_impl::{{closure}}
             at ./src/librustc_query_system/query/plumbing.rs:639
  44: <rustc_query_system::query::caches::DefaultCache<K,V> as rustc_query_system::query::caches::QueryCache>::lookup
             at ./src/librustc_query_system/query/caches.rs:111
  45: rustc_query_system::query::plumbing::try_get_cached
             at ./src/librustc_query_system/query/plumbing.rs:369
  46: rustc_query_system::query::plumbing::get_query_impl
             at ./src/librustc_query_system/query/plumbing.rs:631
  47: rustc_query_system::query::plumbing::get_query
             at ./src/librustc_query_system/query/plumbing.rs:731
  48: rustc_middle::ty::query::TyCtxtAt::type_of
             at src/librustc_middle/ty/query/plumbing.rs:472
  49: rustc_middle::ty::query::<impl rustc_middle::ty::context::TyCtxt>::type_of
             at src/librustc_middle/ty/query/plumbing.rs:433
  50: rustc_middle::ty::error::<impl rustc_middle::ty::context::TyCtxt>::point_at_associated_type
             at src/librustc_middle/ty/error.rs:820
  51: rustc_middle::ty::error::<impl rustc_middle::ty::context::TyCtxt>::expected_projection
             at src/librustc_middle/ty/error.rs:708
  52: rustc_middle::ty::error::<impl rustc_middle::ty::context::TyCtxt>::note_and_explain_type_err
             at src/librustc_middle/ty/error.rs:495
  53: rustc_infer::infer::error_reporting::<impl rustc_infer::infer::InferCtxt>::note_type_err
             at src/librustc_infer/infer/error_reporting/mod.rs:1601
  54: rustc_infer::infer::error_reporting::<impl rustc_infer::infer::InferCtxt>::report_and_explain_type_error
             at src/librustc_infer/infer/error_reporting/mod.rs:1696
  55: rustc_infer::infer::InferCtxt::report_mismatched_types
             at src/librustc_infer/infer/mod.rs:1491
  56: rustc_typeck::check::coercion::CoerceMany<E>::report_return_mismatched_types
             at src/librustc_typeck/check/coercion.rs:1331
  57: rustc_typeck::check::coercion::CoerceMany<E>::coerce_inner
             at src/librustc_typeck/check/coercion.rs:1259
  58: rustc_typeck::check::coercion::CoerceMany<E>::coerce
             at src/librustc_typeck/check/coercion.rs:1103
  59: rustc_typeck::check::FnCtxt::check_block_with_expected::{{closure}}
             at src/librustc_typeck/check/mod.rs:4737
  60: rustc_typeck::check::FnCtxt::with_breakable_ctxt
             at src/librustc_typeck/check/mod.rs:5748
  61: rustc_typeck::check::FnCtxt::check_block_with_expected
             at src/librustc_typeck/check/mod.rs:4721
  62: rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_kind
             at src/librustc_typeck/check/expr.rs:262
  63: rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation_and_needs
             at src/librustc_typeck/check/expr.rs:173
  64: rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_expectation
             at src/librustc_typeck/check/expr.rs:120
  65: rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_expr_with_hint
             at src/librustc_typeck/check/expr.rs:112
  66: rustc_typeck::check::expr::<impl rustc_typeck::check::FnCtxt>::check_return_expr
             at src/librustc_typeck/check/expr.rs:724
  67: rustc_typeck::check::check_fn
             at src/librustc_typeck/check/mod.rs:1396
  68: rustc_typeck::check::typeck_tables_of_with_fallback::{{closure}}
             at src/librustc_typeck/check/mod.rs:1041
  69: rustc_typeck::check::InheritedBuilder::enter::{{closure}}
             at src/librustc_typeck/check/mod.rs:659
  70: rustc_infer::infer::InferCtxtBuilder::enter::{{closure}}
             at ./src/librustc_infer/infer/mod.rs:664
  71: rustc_middle::ty::context::GlobalCtxt::enter_local::{{closure}}::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1506
  72: rustc_middle::ty::context::tls::enter_context::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1671
  73: rustc_middle::ty::context::tls::set_tlv
             at ./src/librustc_middle/ty/context.rs:1655
  74: rustc_middle::ty::context::tls::enter_context
             at ./src/librustc_middle/ty/context.rs:1671
  75: rustc_middle::ty::context::GlobalCtxt::enter_local::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1506
  76: rustc_middle::ty::context::tls::with_related_context::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1759
  77: rustc_middle::ty::context::tls::with_context::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1743
  78: rustc_middle::ty::context::tls::with_context_opt
             at ./src/librustc_middle/ty/context.rs:1732
  79: rustc_middle::ty::context::tls::with_context
             at ./src/librustc_middle/ty/context.rs:1743
  80: rustc_middle::ty::context::tls::with_related_context
             at ./src/librustc_middle/ty/context.rs:1756
  81: rustc_middle::ty::context::GlobalCtxt::enter_local
             at ./src/librustc_middle/ty/context.rs:1498
  82: rustc_infer::infer::InferCtxtBuilder::enter
             at ./src/librustc_infer/infer/mod.rs:663
  83: rustc_typeck::check::InheritedBuilder::enter
             at src/librustc_typeck/check/mod.rs:659
  84: rustc_typeck::check::typeck_tables_of_with_fallback
             at src/librustc_typeck/check/mod.rs:1011
  85: rustc_typeck::check::typeck_tables_of
             at src/librustc_typeck/check/mod.rs:973
  86: rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::typeck_tables_of>::compute
             at ./src/librustc_middle/ty/query/plumbing.rs:362
  87: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
             at ./src/librustc_query_system/dep_graph/graph.rs:303
  88: rustc_query_system::query::plumbing::force_query_with_job::{{closure}}::{{closure}}
             at ./src/librustc_query_system/query/plumbing.rs:0
  89: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}::{{closure}}::{{closure}}
             at ./src/librustc_middle/ty/query/plumbing.rs:72
  90: stacker::maybe_grow
             at /home/matthew/.cargo/registry/src/github.com-1ecc6299db9ec823/stacker-0.1.8/src/lib.rs:52
  91: rustc_data_structures::stack::ensure_sufficient_stack
             at ./src/librustc_data_structures/stack.rs:16
  92: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}::{{closure}}
             at ./src/librustc_middle/ty/query/plumbing.rs:72
  93: rustc_middle::ty::context::tls::enter_context::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1671
  94: rustc_middle::ty::context::tls::set_tlv
             at ./src/librustc_middle/ty/context.rs:1655
  95: rustc_middle::ty::context::tls::enter_context
             at ./src/librustc_middle/ty/context.rs:1671
  96: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}
             at ./src/librustc_middle/ty/query/plumbing.rs:71
  97: rustc_middle::ty::context::tls::with_related_context::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1759
  98: rustc_middle::ty::context::tls::with_context::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1743
  99: rustc_middle::ty::context::tls::with_context_opt
             at ./src/librustc_middle/ty/context.rs:1732
 100: rustc_middle::ty::context::tls::with_context
             at ./src/librustc_middle/ty/context.rs:1743
 101: rustc_middle::ty::context::tls::with_related_context
             at ./src/librustc_middle/ty/context.rs:1756
 102: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query
             at ./src/librustc_middle/ty/query/plumbing.rs:60
 103: rustc_query_system::query::plumbing::force_query_with_job::{{closure}}
             at ./src/librustc_query_system/query/plumbing.rs:589
 104: rustc_query_system::query::plumbing::with_diagnostics
             at ./src/librustc_query_system/query/plumbing.rs:296
 105: rustc_query_system::query::plumbing::force_query_with_job
             at ./src/librustc_query_system/query/plumbing.rs:588
 106: rustc_query_system::query::plumbing::try_execute_query
             at ./src/librustc_query_system/query/plumbing.rs:415
 107: rustc_query_system::query::plumbing::get_query_impl::{{closure}}
             at ./src/librustc_query_system/query/plumbing.rs:639
 108: <rustc_query_system::query::caches::DefaultCache<K,V> as rustc_query_system::query::caches::QueryCache>::lookup
             at ./src/librustc_query_system/query/caches.rs:111
 109: rustc_query_system::query::plumbing::try_get_cached
             at ./src/librustc_query_system/query/plumbing.rs:369
 110: rustc_query_system::query::plumbing::get_query_impl
             at ./src/librustc_query_system/query/plumbing.rs:631
 111: rustc_query_system::query::plumbing::ensure_query_impl
             at ./src/librustc_query_system/query/plumbing.rs:0
 112: rustc_query_system::query::plumbing::ensure_query
             at ./src/librustc_query_system/query/plumbing.rs:741
 113: rustc_middle::ty::query::TyCtxtEnsure::typeck_tables_of
             at ./src/librustc_middle/ty/query/plumbing.rs:389
 114: rustc_typeck::check::typeck_item_bodies::{{closure}}
             at src/librustc_typeck/check/mod.rs:753
 115: rustc_middle::ty::<impl rustc_middle::ty::context::TyCtxt>::par_body_owners::{{closure}}
             at ./src/librustc_middle/ty/mod.rs:2634
 116: core::iter::traits::iterator::Iterator::for_each::call::{{closure}}
             at ./src/libcore/iter/traits/iterator.rs:655
 117: core::iter::traits::iterator::Iterator::fold::ok::{{closure}}
             at ./src/libcore/iter/traits/iterator.rs:2002
 118: core::iter::traits::iterator::Iterator::try_fold
             at ./src/libcore/iter/traits/iterator.rs:1878
 119: core::iter::traits::iterator::Iterator::fold
             at ./src/libcore/iter/traits/iterator.rs:2005
 120: core::iter::traits::iterator::Iterator::for_each
             at ./src/libcore/iter/traits/iterator.rs:658
 121: rustc_middle::ty::<impl rustc_middle::ty::context::TyCtxt>::par_body_owners
             at ./src/librustc_middle/ty/mod.rs:2633
 122: rustc_typeck::check::typeck_item_bodies
             at src/librustc_typeck/check/mod.rs:752
 123: rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::typeck_item_bodies>::compute
             at ./src/librustc_middle/ty/query/plumbing.rs:362
 124: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
             at ./src/librustc_query_system/dep_graph/graph.rs:303
 125: rustc_query_system::query::plumbing::force_query_with_job::{{closure}}::{{closure}}
             at ./src/librustc_query_system/query/plumbing.rs:0
 126: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}::{{closure}}::{{closure}}
             at ./src/librustc_middle/ty/query/plumbing.rs:72
 127: stacker::maybe_grow
             at /home/matthew/.cargo/registry/src/github.com-1ecc6299db9ec823/stacker-0.1.8/src/lib.rs:52
 128: rustc_data_structures::stack::ensure_sufficient_stack
             at ./src/librustc_data_structures/stack.rs:16
 129: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}::{{closure}}
             at ./src/librustc_middle/ty/query/plumbing.rs:72
 130: rustc_middle::ty::context::tls::enter_context::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1671
 131: rustc_middle::ty::context::tls::set_tlv
             at ./src/librustc_middle/ty/context.rs:1655
 132: rustc_middle::ty::context::tls::enter_context
             at ./src/librustc_middle/ty/context.rs:1671
 133: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}
             at ./src/librustc_middle/ty/query/plumbing.rs:71
 134: rustc_middle::ty::context::tls::with_related_context::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1759
 135: rustc_middle::ty::context::tls::with_context::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1743
 136: rustc_middle::ty::context::tls::with_context_opt
             at ./src/librustc_middle/ty/context.rs:1732
 137: rustc_middle::ty::context::tls::with_context
             at ./src/librustc_middle/ty/context.rs:1743
 138: rustc_middle::ty::context::tls::with_related_context
             at ./src/librustc_middle/ty/context.rs:1756
 139: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query
             at ./src/librustc_middle/ty/query/plumbing.rs:60
 140: rustc_query_system::query::plumbing::force_query_with_job::{{closure}}
             at ./src/librustc_query_system/query/plumbing.rs:589
 141: rustc_query_system::query::plumbing::with_diagnostics
             at ./src/librustc_query_system/query/plumbing.rs:296
 142: rustc_query_system::query::plumbing::force_query_with_job
             at ./src/librustc_query_system/query/plumbing.rs:588
 143: rustc_query_system::query::plumbing::try_execute_query
             at ./src/librustc_query_system/query/plumbing.rs:415
 144: rustc_query_system::query::plumbing::get_query_impl::{{closure}}
             at ./src/librustc_query_system/query/plumbing.rs:639
 145: <rustc_query_system::query::caches::DefaultCache<K,V> as rustc_query_system::query::caches::QueryCache>::lookup
             at ./src/librustc_query_system/query/caches.rs:111
 146: rustc_query_system::query::plumbing::try_get_cached
             at ./src/librustc_query_system/query/plumbing.rs:369
 147: rustc_query_system::query::plumbing::get_query_impl
             at ./src/librustc_query_system/query/plumbing.rs:631
 148: rustc_query_system::query::plumbing::get_query
             at ./src/librustc_query_system/query/plumbing.rs:731
 149: rustc_middle::ty::query::TyCtxtAt::typeck_item_bodies
             at ./src/librustc_middle/ty/query/plumbing.rs:472
 150: rustc_middle::ty::query::<impl rustc_middle::ty::context::TyCtxt>::typeck_item_bodies
             at ./src/librustc_middle/ty/query/plumbing.rs:433
 151: rustc_typeck::check_crate::{{closure}}
             at src/librustc_typeck/lib.rs:365
 152: rustc_data_structures::profiling::VerboseTimingGuard::run
             at ./src/librustc_data_structures/profiling.rs:573
 153: rustc_session::utils::<impl rustc_session::session::Session>::time
             at ./src/librustc_session/utils.rs:9
 154: rustc_typeck::check_crate
             at src/librustc_typeck/lib.rs:365
 155: rustc_interface::passes::analysis
             at src/librustc_interface/passes.rs:807
 156: rustc_middle::ty::query::<impl rustc_query_system::query::config::QueryAccessors<rustc_middle::ty::context::TyCtxt> for rustc_middle::ty::query::queries::analysis>::compute
             at ./src/librustc_middle/ty/query/plumbing.rs:362
 157: rustc_query_system::dep_graph::graph::DepGraph<K>::with_task_impl
             at ./src/librustc_query_system/dep_graph/graph.rs:303
 158: rustc_query_system::query::plumbing::force_query_with_job::{{closure}}::{{closure}}
             at ./src/librustc_query_system/query/plumbing.rs:0
 159: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}::{{closure}}::{{closure}}
             at ./src/librustc_middle/ty/query/plumbing.rs:72
 160: stacker::maybe_grow
             at /home/matthew/.cargo/registry/src/github.com-1ecc6299db9ec823/stacker-0.1.8/src/lib.rs:52
 161: rustc_data_structures::stack::ensure_sufficient_stack
             at ./src/librustc_data_structures/stack.rs:16
 162: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}::{{closure}}
             at ./src/librustc_middle/ty/query/plumbing.rs:72
 163: rustc_middle::ty::context::tls::enter_context::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1671
 164: rustc_middle::ty::context::tls::set_tlv
             at ./src/librustc_middle/ty/context.rs:1655
 165: rustc_middle::ty::context::tls::enter_context
             at ./src/librustc_middle/ty/context.rs:1671
 166: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query::{{closure}}
             at ./src/librustc_middle/ty/query/plumbing.rs:71
 167: rustc_middle::ty::context::tls::with_related_context::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1759
 168: rustc_middle::ty::context::tls::with_context::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1743
 169: rustc_middle::ty::context::tls::with_context_opt
             at ./src/librustc_middle/ty/context.rs:1732
 170: rustc_middle::ty::context::tls::with_context
             at ./src/librustc_middle/ty/context.rs:1743
 171: rustc_middle::ty::context::tls::with_related_context
             at ./src/librustc_middle/ty/context.rs:1756
 172: rustc_middle::ty::query::plumbing::<impl rustc_query_system::query::QueryContext for rustc_middle::ty::context::TyCtxt>::start_query
             at ./src/librustc_middle/ty/query/plumbing.rs:60
 173: rustc_query_system::query::plumbing::force_query_with_job::{{closure}}
             at ./src/librustc_query_system/query/plumbing.rs:589
 174: rustc_query_system::query::plumbing::with_diagnostics
             at ./src/librustc_query_system/query/plumbing.rs:296
 175: rustc_query_system::query::plumbing::force_query_with_job
             at ./src/librustc_query_system/query/plumbing.rs:588
 176: rustc_query_system::query::plumbing::try_execute_query
             at ./src/librustc_query_system/query/plumbing.rs:415
 177: rustc_query_system::query::plumbing::get_query_impl::{{closure}}
             at ./src/librustc_query_system/query/plumbing.rs:639
 178: <rustc_query_system::query::caches::DefaultCache<K,V> as rustc_query_system::query::caches::QueryCache>::lookup
             at ./src/librustc_query_system/query/caches.rs:111
 179: rustc_query_system::query::plumbing::try_get_cached
             at ./src/librustc_query_system/query/plumbing.rs:369
 180: rustc_query_system::query::plumbing::get_query_impl
             at ./src/librustc_query_system/query/plumbing.rs:631
 181: rustc_query_system::query::plumbing::get_query
             at ./src/librustc_query_system/query/plumbing.rs:731
 182: rustc_middle::ty::query::TyCtxtAt::analysis
             at ./src/librustc_middle/ty/query/plumbing.rs:472
 183: rustc_middle::ty::query::<impl rustc_middle::ty::context::TyCtxt>::analysis
             at ./src/librustc_middle/ty/query/plumbing.rs:433
 184: rustc_driver::run_compiler::{{closure}}::{{closure}}::{{closure}}
             at src/librustc_driver/lib.rs:383
 185: rustc_middle::ty::context::tls::enter_global::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1694
 186: rustc_middle::ty::context::tls::enter_context::{{closure}}
             at ./src/librustc_middle/ty/context.rs:1671
 187: rustc_middle::ty::context::tls::set_tlv
             at ./src/librustc_middle/ty/context.rs:1655
 188: rustc_middle::ty::context::tls::enter_context
             at ./src/librustc_middle/ty/context.rs:1671
 189: rustc_middle::ty::context::tls::enter_global
             at ./src/librustc_middle/ty/context.rs:1694
 190: rustc_interface::passes::QueryContext::enter
             at ./src/librustc_interface/passes.rs:708
 191: rustc_driver::run_compiler::{{closure}}::{{closure}}
             at src/librustc_driver/lib.rs:383
 192: rustc_interface::queries::<impl rustc_interface::interface::Compiler>::enter
             at ./src/librustc_interface/queries.rs:385
 193: rustc_driver::run_compiler::{{closure}}
             at src/librustc_driver/lib.rs:283
 194: rustc_interface::interface::run_compiler_in_existing_thread_pool
             at ./src/librustc_interface/interface.rs:199
 195: rustc_interface::interface::run_compiler::{{closure}}
             at ./src/librustc_interface/interface.rs:213
 196: rustc_interface::util::spawn_thread_pool::{{closure}}::{{closure}}::{{closure}}
             at ./src/librustc_interface/util.rs:146
 197: scoped_tls::ScopedKey<T>::set
             at /home/matthew/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137
 198: rustc_interface::util::spawn_thread_pool::{{closure}}::{{closure}}
             at ./src/librustc_interface/util.rs:142
 199: scoped_tls::ScopedKey<T>::set
             at /home/matthew/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137
 200: rustc_ast::attr::with_globals::{{closure}}
             at ./src/librustc_ast/attr/mod.rs:44
 201: scoped_tls::ScopedKey<T>::set
             at /home/matthew/.cargo/registry/src/github.com-1ecc6299db9ec823/scoped-tls-1.0.0/src/lib.rs:137
 202: rustc_ast::attr::with_globals
             at ./src/librustc_ast/attr/mod.rs:44
 203: rustc_interface::util::spawn_thread_pool::{{closure}}
             at ./src/librustc_interface/util.rs:141
 204: rustc_interface::util::scoped_thread::{{closure}}
             at ./src/librustc_interface/util.rs:116
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.

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.45.0-dev running on x86_64-unknown-linux-gnu

query stack during panic:
#0 [type_of] processing `X::S`
#1 [typeck_tables_of] type-checking `X::f`
#2 [typeck_item_bodies] type-checking all item bodies
#3 [analysis] running analysis passes on this crate
end of query stack
error: aborting due to previous error

@matthewjasper matthewjasper added I-ICE Issue: The compiler panicked, giving an Internal Compilation Error (ICE) ❄️ regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. C-bug Category: This is a bug. labels May 10, 2020
@jonas-schievink jonas-schievink added E-needs-bisection Call for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc T-compiler Relevant to the compiler team, which will review and decide on the PR/issue. labels May 10, 2020
@hellow554
Copy link
Contributor

Regression found in the compiler

searched nightlies: from nightly-2020-05-03 to nightly-2020-05-05
regressed nightly: nightly-2020-05-05
searched commits: from 65b4482 to 2454a68
regressed commit: d6823ba

cc #71108 @estebank

@rustbot modify labels: -E-needs-bisection

@rustbot rustbot removed the E-needs-bisection Call for participation: This issue needs bisection: https://github.com/rust-lang/cargo-bisect-rustc label May 12, 2020
@rust-lang-glacier-bot rust-lang-glacier-bot added the glacier ICE tracked in rust-lang/glacier. label May 12, 2020
@estebank estebank self-assigned this May 12, 2020
@Dylan-DPC-zz Dylan-DPC-zz added the I-prioritize Issue: Indicates that prioritization has been requested for this issue. label May 13, 2020
@spastorino
Copy link
Member

Assigning P-medium as discussed as part of the Prioritization Working Group process and removing I-prioritize.

@spastorino spastorino added P-medium Medium priority and removed I-prioritize Issue: Indicates that prioritization has been requested for this issue. labels May 13, 2020
RalfJung added a commit to RalfJung/rust that referenced this issue May 21, 2020
Don't `type_of` on trait assoc ty without default

Fix rust-lang#72076.
RalfJung added a commit to RalfJung/rust that referenced this issue May 21, 2020
Don't `type_of` on trait assoc ty without default

Fix rust-lang#72076.
RalfJung added a commit to RalfJung/rust that referenced this issue May 21, 2020
Don't `type_of` on trait assoc ty without default

Fix rust-lang#72076.
@bors bors closed this as completed in a3f30bb May 22, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
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) ❄️ P-medium Medium priority regression-from-stable-to-nightly Performance or correctness regression from stable to nightly. 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.

8 participants