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: cycle detected when computing function signature of #110106

Closed
bvanjoi opened this issue Apr 9, 2023 · 6 comments · Fixed by #121864
Closed

ICE: cycle detected when computing function signature of #110106

bvanjoi opened this issue Apr 9, 2023 · 6 comments · Fixed by #121864
Labels
C-bug Category: This is a bug. F-inherent_associated_types `#![feature(inherent_associated_types)]` glacier ICE tracked in rust-lang/glacier. I-cycle Issue: A query cycle occurred while none was expected 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

@bvanjoi
Copy link
Contributor

bvanjoi commented Apr 9, 2023

Code

#![feature(inherent_associated_types)]
#![allow(incomplete_features)]

struct D<T> {
  a: T
}

impl<T: Default> D<T> {
    type Item = T;

    fn next() -> Self::Item {
        Self::Item::default()
    }
}


fn main() {
}

Meta

rustc --version --verbose:

rustc --version --verbose
rustc 1.70.0-nightly (af06dce64 2023-04-08)
binary: rustc
commit-hash: af06dce64bf87ea9206bdf6cff61c144b9ce8458
commit-date: 2023-04-08
host: aarch64-apple-darwin
release: 1.70.0-nightly
LLVM version: 16.0.2

Error output

warning: struct `D` is never constructed
 --> src/main.rs:4:8
  |
4 | struct D<T> {
  |        ^
  |
  = note: `#[warn(dead_code)]` on by default

warning: associated function `next` is never used
  --> src/main.rs:11:8
   |
11 |     fn next() -> Self::Item {
   |        ^^^^

error: internal compiler error: no errors encountered even though `delay_span_bug` issued

error: internal compiler error[E0391]: cycle detected when computing function signature of `<impl at src/main.rs:8:1: 8:22>::next`
  --> src/main.rs:11:5
   |
11 |     fn next() -> Self::Item {
   |     ^^^^^^^^^^^^^^^^^^^^^^^
   |
note: ...which requires computing the variances of `D`...
  --> src/main.rs:4:1
   |
4  | struct D<T> {
   | ^^^^^^^^^^^
   = note: ...which requires computing the variances for items in this crate...
   = note: ...which again requires computing function signature of `<impl at src/main.rs:8:1: 8:22>::next`, completing the cycle
note: cycle used when collecting item types in top-level module
  --> src/main.rs:1:1
   |
1  | / #![feature(inherent_associated_types)]
2  | | #![allow(incomplete_features)]
3  | |
4  | | struct D<T> {
...  |
17 | | fn main() {
18 | | }
   | |_^
Backtrace

delayed at    0: std::backtrace::Backtrace::create
              1: <rustc_errors::HandlerInner>::emit_diagnostic
              2: <rustc_span::ErrorGuaranteed as rustc_errors::diagnostic_builder::EmissionGuarantee>::diagnostic_builder_emit_producing_guarantee
              3: rustc_query_system::query::plumbing::mk_cycle::<rustc_query_impl::queries::fn_sig, rustc_query_impl::plumbing::QueryCtxt>
              4: rustc_query_system::query::plumbing::cycle_error::<rustc_query_impl::queries::fn_sig, rustc_query_impl::plumbing::QueryCtxt>
              5: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::fn_sig
              6: <rustc_hir_analysis::variance::constraints::ConstraintContext>::build_constraints_for_item
              7: rustc_hir_analysis::variance::constraints::add_constraints_from_crate
              8: rustc_hir_analysis::variance::crate_variances
              9: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::crate_variances, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
             10: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::crate_variances, rustc_query_impl::plumbing::QueryCtxt>
             11: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::crate_variances
             12: rustc_hir_analysis::variance::variances_of
             13: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::variances_of, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}, (rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
             14: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::variances_of, rustc_query_impl::plumbing::QueryCtxt>
             15: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::variances_of
             16: <rustc_infer::infer::sub::Sub as rustc_middle::ty::relate::TypeRelation>::relate_item_substs
             17: rustc_middle::ty::relate::super_relate_tys::<rustc_infer::infer::sub::Sub>
             18: <rustc_infer::infer::sub::Sub as rustc_middle::ty::relate::TypeRelation>::tys
             19: <rustc_infer::infer::at::At>::sup::<rustc_middle::ty::Ty>
             20: <rustc_infer::infer::InferCtxt>::probe::<core::option::Option<(rustc_span::def_id::DefId, rustc_span::def_id::DefId, &rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>)>, <dyn rustc_hir_analysis::astconv::AstConv>::lookup_inherent_assoc_ty::{closure#1}::{closure#3}::{closure#0}>
             21: <alloc::vec::Vec<(rustc_span::def_id::DefId, rustc_span::def_id::DefId, &rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_span::def_id::DefId, rustc_span::def_id::DefId, &rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>), core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<(rustc_span::def_id::DefId, (rustc_span::def_id::DefId, rustc_span::def_id::DefId))>, <dyn rustc_hir_analysis::astconv::AstConv>::lookup_inherent_assoc_ty::{closure#1}::{closure#3}>>>::from_iter
             22: <rustc_infer::infer::InferCtxt>::probe::<alloc::vec::Vec<(rustc_span::def_id::DefId, rustc_span::def_id::DefId, &rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>)>, <dyn rustc_hir_analysis::astconv::AstConv>::lookup_inherent_assoc_ty::{closure#1}>
             23: <dyn rustc_hir_analysis::astconv::AstConv>::associated_path_to_ty::{closure#0}
             24: <dyn rustc_hir_analysis::astconv::AstConv>::ast_ty_to_ty_inner::{closure#0}
             25: <dyn rustc_hir_analysis::astconv::AstConv>::ty_of_fn::{closure#0}
             26: rustc_hir_analysis::collect::infer_return_ty_for_fn_sig
             27: rustc_hir_analysis::collect::fn_sig
             28: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::fn_sig, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}, (rustc_middle::query::erase::Erased<[u8; 24]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle::query::erase::Erased<[u8; 24]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
             29: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::fn_sig, rustc_query_impl::plumbing::QueryCtxt>
             30: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::fn_sig
             31: <rustc_hir_analysis::collect::CollectItemTypesVisitor as rustc_hir::intravisit::Visitor>::visit_impl_item
             32: <rustc_middle::hir::map::Map>::visit_item_likes_in_module::<rustc_hir_analysis::collect::CollectItemTypesVisitor>
             33: rustc_hir_analysis::collect::collect_mod_item_types
             34: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::collect_mod_item_types, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}, (rustc_middle::query::erase::Erased<[u8; 0]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle::query::erase::Erased<[u8; 0]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
             35: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::collect_mod_item_types, rustc_query_impl::plumbing::QueryCtxt>
             36: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::collect_mod_item_types
             37: <rustc_session::session::Session>::track_errors::<rustc_hir_analysis::check_crate::{closure#0}, ()>
             38: rustc_hir_analysis::check_crate
             39: rustc_interface::passes::analysis
             40: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
             41: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
             42: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
             43: <rustc_interface::queries::QueryResult<&rustc_middle::ty::context::GlobalCtxt>>::enter::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure#4}>
             44: <rustc_interface::interface::Compiler>::enter::<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_span::ErrorGuaranteed>>
             45: rustc_span::set_source_map::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
             46: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
             47: std::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
             48: <<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
             49: std::sys::unix::thread::Thread::new::thread_start
             50: __pthread_deallocate
           

error: internal compiler error: TyKind::Error constructed but no error reported
  |
  = note: delayed at    0: std::backtrace::Backtrace::create
             1: <rustc_errors::HandlerInner>::emit_diagnostic
             2: <rustc_errors::Handler>::delay_span_bug::<rustc_span::span_encoding::Span, &str>
             3: <rustc_middle::ty::sty::Binder<rustc_middle::ty::sty::FnSig> as rustc_query_system::values::Value<rustc_middle::ty::context::TyCtxt, rustc_middle::dep_graph::dep_node::DepKind>>::from_cycle_error
             4: <rustc_middle::ty::subst::EarlyBinder<rustc_middle::ty::sty::Binder<rustc_middle::ty::sty::FnSig>> as rustc_query_system::values::Value<rustc_middle::ty::context::TyCtxt, rustc_middle::dep_graph::dep_node::DepKind>>::from_cycle_error
             5: rustc_query_system::query::plumbing::mk_cycle::<rustc_query_impl::queries::fn_sig, rustc_query_impl::plumbing::QueryCtxt>
             6: rustc_query_system::query::plumbing::cycle_error::<rustc_query_impl::queries::fn_sig, rustc_query_impl::plumbing::QueryCtxt>
             7: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::fn_sig
             8: <rustc_hir_analysis::variance::constraints::ConstraintContext>::build_constraints_for_item
             9: rustc_hir_analysis::variance::constraints::add_constraints_from_crate
            10: rustc_hir_analysis::variance::crate_variances
            11: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::crate_variances, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle::query::erase::Erased<[u8; 8]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
            12: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::crate_variances, rustc_query_impl::plumbing::QueryCtxt>
            13: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::crate_variances
            14: rustc_hir_analysis::variance::variances_of
            15: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::variances_of, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}, (rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle::query::erase::Erased<[u8; 16]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
            16: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::variances_of, rustc_query_impl::plumbing::QueryCtxt>
            17: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::variances_of
            18: <rustc_infer::infer::sub::Sub as rustc_middle::ty::relate::TypeRelation>::relate_item_substs
            19: rustc_middle::ty::relate::super_relate_tys::<rustc_infer::infer::sub::Sub>
            20: <rustc_infer::infer::sub::Sub as rustc_middle::ty::relate::TypeRelation>::tys
            21: <rustc_infer::infer::at::At>::sup::<rustc_middle::ty::Ty>
            22: <rustc_infer::infer::InferCtxt>::probe::<core::option::Option<(rustc_span::def_id::DefId, rustc_span::def_id::DefId, &rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>)>, <dyn rustc_hir_analysis::astconv::AstConv>::lookup_inherent_assoc_ty::{closure#1}::{closure#3}::{closure#0}>
            23: <alloc::vec::Vec<(rustc_span::def_id::DefId, rustc_span::def_id::DefId, &rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>)> as alloc::vec::spec_from_iter::SpecFromIter<(rustc_span::def_id::DefId, rustc_span::def_id::DefId, &rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>), core::iter::adapters::filter_map::FilterMap<core::slice::iter::Iter<(rustc_span::def_id::DefId, (rustc_span::def_id::DefId, rustc_span::def_id::DefId))>, <dyn rustc_hir_analysis::astconv::AstConv>::lookup_inherent_assoc_ty::{closure#1}::{closure#3}>>>::from_iter
            24: <rustc_infer::infer::InferCtxt>::probe::<alloc::vec::Vec<(rustc_span::def_id::DefId, rustc_span::def_id::DefId, &rustc_middle::ty::list::List<rustc_middle::ty::subst::GenericArg>)>, <dyn rustc_hir_analysis::astconv::AstConv>::lookup_inherent_assoc_ty::{closure#1}>
            25: <dyn rustc_hir_analysis::astconv::AstConv>::associated_path_to_ty::{closure#0}
            26: <dyn rustc_hir_analysis::astconv::AstConv>::ast_ty_to_ty_inner::{closure#0}
            27: <dyn rustc_hir_analysis::astconv::AstConv>::ty_of_fn::{closure#0}
            28: rustc_hir_analysis::collect::infer_return_ty_for_fn_sig
            29: rustc_hir_analysis::collect::fn_sig
            30: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::fn_sig, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}, (rustc_middle::query::erase::Erased<[u8; 24]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle::query::erase::Erased<[u8; 24]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
            31: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::fn_sig, rustc_query_impl::plumbing::QueryCtxt>
            32: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::fn_sig
            33: <rustc_hir_analysis::collect::CollectItemTypesVisitor as rustc_hir::intravisit::Visitor>::visit_impl_item
            34: <rustc_middle::hir::map::Map>::visit_item_likes_in_module::<rustc_hir_analysis::collect::CollectItemTypesVisitor>
            35: rustc_hir_analysis::collect::collect_mod_item_types
            36: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::collect_mod_item_types, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}, (rustc_middle::query::erase::Erased<[u8; 0]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle::query::erase::Erased<[u8; 0]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
            37: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::collect_mod_item_types, rustc_query_impl::plumbing::QueryCtxt>
            38: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::collect_mod_item_types
            39: <rustc_session::session::Session>::track_errors::<rustc_hir_analysis::check_crate::{closure#0}, ()>
            40: rustc_hir_analysis::check_crate
            41: rustc_interface::passes::analysis
            42: <std::thread::local::LocalKey<core::cell::Cell<*const ()>>>::with::<rustc_middle::ty::context::tls::enter_context<rustc_query_system::query::plumbing::execute_job_incr<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>::{closure#2}, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>::{closure#0}, (rustc_middle::query::erase::Erased<[u8; 1]>, rustc_query_system::dep_graph::graph::DepNodeIndex)>
            43: rustc_query_system::query::plumbing::try_execute_query::<rustc_query_impl::queries::analysis, rustc_query_impl::plumbing::QueryCtxt>
            44: <rustc_query_impl::Queries as rustc_middle::ty::query::QueryEngine>::analysis
            45: <rustc_interface::queries::QueryResult<&rustc_middle::ty::context::GlobalCtxt>>::enter::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}::{closure#2}::{closure#4}>
            46: <rustc_interface::interface::Compiler>::enter::<rustc_driver_impl::run_compiler::{closure#1}::{closure#2}, core::result::Result<core::option::Option<rustc_interface::queries::Linker>, rustc_span::ErrorGuaranteed>>
            47: rustc_span::set_source_map::<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}::{closure#0}>
            48: <scoped_tls::ScopedKey<rustc_span::SessionGlobals>>::set::<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
            49: std::sys_common::backtrace::__rust_begin_short_backtrace::<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>
            50: <<std::thread::Builder>::spawn_unchecked_<rustc_interface::util::run_in_thread_pool_with_globals<rustc_interface::interface::run_compiler<core::result::Result<(), rustc_span::ErrorGuaranteed>, rustc_driver_impl::run_compiler::{closure#1}>::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#0}::{closure#0}, core::result::Result<(), rustc_span::ErrorGuaranteed>>::{closure#1} as core::ops::function::FnOnce<()>>::call_once::{shim:vtable#0}
            51: std::sys::unix::thread::Thread::new::thread_start
            52: __pthread_deallocate

@bvanjoi bvanjoi 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 Apr 9, 2023
@fmease
Copy link
Member

fmease commented Apr 9, 2023

#108491 related.

@rustbot label F-inherent_associated_types

@rustbot rustbot added the F-inherent_associated_types `#![feature(inherent_associated_types)]` label Apr 9, 2023
@bvanjoi
Copy link
Contributor Author

bvanjoi commented May 9, 2023

It caused by a cycle query:

// for `{impl#0}::next`
convert_impl_item 
   ->  rustc_middle::fn_sig 
   -> execute_job 
   -> rustc_hir_analysis::collect::fn_sig 
   -> lookup_inherent_assoc_ty 
   -> sup 
   -> variances_of 
   -> rustc_middle::fn_sig

@Technohacker
Copy link

Technohacker commented Jul 2, 2023

There's a related bug to this (I believe by involving some traits with associated types) that I would like to report, though I was able to raise mine on Stable (1.70.0) without using the feature flag. Should I make a separate bug report or attach it here?

@matthiaskrgr
Copy link
Member

Regression in nightly-2023-02-21

found 9 bors merge commits in the specified range
commit[0] 2023-02-19: Auto merge of #107921 - cjgillot:codegen-overflow-check, r=tmiasko
commit[1] 2023-02-19: Auto merge of #108128 - clubby789:builtin-derived-attr, r=jackh726
commit[2] 2023-02-20: Auto merge of #105961 - fmease:iat-type-directed-probing, r=jackh726
commit[3] 2023-02-20: Auto merge of #108235 - tmiasko:read-buf, r=the8472
commit[4] 2023-02-20: Auto merge of #106316 - camelid:rustdoc-all-only-stable, r=GuillaumeGomez
commit[5] 2023-02-20: Auto merge of #107969 - b-naber:proj-relate-variance, r=lcnr
commit[6] 2023-02-20: Auto merge of #107721 - megakorre:issue_105700, r=petrochenkov
commit[7] 2023-02-20: Auto merge of #108268 - matthiaskrgr:rollup-4tdvnx6, r=matthiaskrgr
commit[8] 2023-02-20: Auto merge of #108260 - lnicola:rust-analyzer-2023-02-20, r=lnicola
ERROR: no CI builds available between 7aa413d and 5243ea5 within last 167 days

I guess #105961 ?

@JohnTitor
Copy link
Member

Seems this has been fixed on the latest nightly, marked as E-needs-test.
@rustbot labels: +E-needs-test

@rustbot rustbot added the E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. label Nov 28, 2023
@fmease fmease added the I-cycle Issue: A query cycle occurred while none was expected label Jan 25, 2024
@matthiaskrgr
Copy link
Member

@compiler-errors this regressed again in #121462

@matthiaskrgr matthiaskrgr removed the E-needs-test Call for participation: An issue has been fixed and does not reproduce, but no test has been added. label Mar 1, 2024
bors added a commit to rust-lang-ci/rust that referenced this issue Mar 1, 2024
…ces, r=<try>

Don't grab variances in `TypeRelating` relation if we're invariant

Since `Invariant.xform(var) = Invariant` always, so just copy what the generalizer relation does.

Fixes rust-lang#110106
bors added a commit to rust-lang-ci/rust that referenced this issue Mar 1, 2024
…ces, r=<try>

Don't grab variances in `TypeRelating` relation if we're invariant

Since `Invariant.xform(var) = Invariant` always, so just copy what the generalizer relation does.

Fixes rust-lang#110106
@bors bors closed this as completed in 2e3581b Mar 2, 2024
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. F-inherent_associated_types `#![feature(inherent_associated_types)]` glacier ICE tracked in rust-lang/glacier. I-cycle Issue: A query cycle occurred while none was expected 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.

7 participants