Skip to content

Rust analyser panicked in VSC #11659

Closed
@martinellison

Description

@martinellison

rust-analyzer version: 5fae65dd2 2022-03-07 stable

rustc version: rustc 1.61.0-nightly (03918badd 2022-03-07)

relevant settings:

VSC version

Version: 1.65.0
Commit: b5205cc8eb4fbaa726835538cd82372cc0222d43
Date: 2022-03-02T11:12:36.248Z
Electron: 13.5.2
Chromium: 91.0.4472.164
Node.js: 14.16.0
V8: 9.1.269.39-electron.0
OS: Linux x64 5.16.12-200.fc35.x86_64

Error dump as displayed

Panic context:
> 
version: 5fae65dd2 2022-03-07 stable
request: textDocument/semanticTokens/full SemanticTokensParams {
    work_done_progress_params: WorkDoneProgressParams {
        work_done_token: None,
    },
    partial_result_params: PartialResultParams {
        partial_result_token: None,
    },
    text_document: TextDocumentIdentifier {
        uri: Url {
            scheme: "file",
            cannot_be_a_base: false,
            username: "",
            password: None,
            host: None,
            port: None,
            path: "/home/martin/git/hypoboleus/engine/src/store.rs",
            query: None,
            fragment: None,
        },
    },
}

thread '<unnamed>' panicked at 'index out of bounds: the len is 1 but the index is 1', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/chalk-ir-0.76.0/src/fold/subst.rs:60:19
stack backtrace:
   0: rust_begin_unwind
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:498:5
   1: core::panicking::panic_fmt
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:116:14
   2: core::panicking::panic_bounds_check
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:84:5
   3: <chalk_ir::fold::subst::Subst<I> as chalk_ir::fold::Folder<I>>::fold_free_var_ty
   4: <chalk_ir::Ty<I> as chalk_ir::fold::SuperFold<I>>::super_fold_with
   5: chalk_ir::fold::boring_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::GenericArg<I>>::fold_with
   6: <smallvec::SmallVec<A> as core::iter::traits::collect::Extend<<A as smallvec::Array>::Item>>::extend
   7: chalk_ir::fold::boring_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::Substitution<I>>::fold_with
   8: chalk_ir::_::<impl chalk_ir::fold::Fold<I> for chalk_ir::WhereClause<I>>::fold_with
   9: chalk_ir::fold::binder_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::Binders<T>>::fold_with
  10: chalk_ir::Binders<T>::substitute
  11: hir_ty::chalk_db::convert_where_clauses
  12: hir_ty::chalk_db::struct_datum_query
  13: salsa::runtime::Runtime::execute_query_implementation
  14: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  15: salsa::derived::slot::Slot<Q,MP>::read
  16: salsa::QueryTable<Q>::get
  17: <DB as hir_ty::db::HirDatabase>::struct_datum
  18: chalk_solve::clauses::program_clauses_that_could_match
  19: chalk_recursive::solve::SolveIteration::solve_iteration
  20: chalk_recursive::fixed_point::RecursiveContext<K,V>::solve_goal
  21: chalk_recursive::fixed_point::RecursiveContext<K,V>::solve_root_goal
  22: <hir_ty::db::TraitSolveQueryQuery as salsa::plumbing::QueryFunction>::execute
  23: salsa::runtime::Runtime::execute_query_implementation
  24: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  25: salsa::derived::slot::Slot<Q,MP>::read
  26: salsa::QueryTable<Q>::get
  27: <DB as hir_ty::db::HirDatabase>::trait_solve_query
  28: hir_ty::db::trait_solve_wait
  29: <DB as hir_ty::db::HirDatabase>::trait_solve
  30: hir_ty::infer::unify::InferenceTable::try_obligation
  31: hir_ty::autoderef::autoderef_step
  32: <hir_ty::autoderef::Autoderef as core::iter::traits::iterator::Iterator>::next
  33: hir_ty::method_resolution::autoderef_method_receiver
  34: hir_ty::method_resolution::iterate_method_candidates_dyn
  35: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  36: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  37: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr
  38: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  39: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::check_call_arguments
  40: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  41: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  42: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
  43: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  44: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  45: hir_ty::infer::infer_query
  46: salsa::runtime::Runtime::execute_query_implementation
  47: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  48: salsa::derived::slot::Slot<Q,MP>::read
  49: salsa::QueryTable<Q>::get
  50: <DB as hir_ty::db::HirDatabase>::infer_query
  51: hir_ty::db::infer_wait
  52: hir::Local::ty
  53: ide::syntax_highlighting::highlight::highlight_def
  54: ide::syntax_highlighting::highlight::name_like
  55: ide::syntax_highlighting::highlight
  56: std::panicking::try
  57: rust_analyzer::handlers::handle_semantic_tokens_full
  58: std::panicking::try
  59: <F as threadpool::FnBox>::call_box
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Panic context:
> 
version: 5fae65dd2 2022-03-07 stable
request: rust-analyzer/inlayHints InlayHintsParams {
    text_document: TextDocumentIdentifier {
        uri: Url {
            scheme: "file",
            cannot_be_a_base: false,
            username: "",
            password: None,
            host: None,
            port: None,
            path: "/home/martin/git/hypoboleus/engine/src/store.rs",
            query: None,
            fragment: None,
        },
    },
}

thread '<unnamed>' panicked at 'index out of bounds: the len is 1 but the index is 1', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/chalk-ir-0.76.0/src/fold/subst.rs:60:19
stack backtrace:
   0: rust_begin_unwind
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:498:5
   1: core::panicking::panic_fmt
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:116:14
   2: core::panicking::panic_bounds_check
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:84:5
   3: <chalk_ir::fold::subst::Subst<I> as chalk_ir::fold::Folder<I>>::fold_free_var_ty
   4: <chalk_ir::Ty<I> as chalk_ir::fold::SuperFold<I>>::super_fold_with
   5: chalk_ir::fold::boring_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::GenericArg<I>>::fold_with
   6: <smallvec::SmallVec<A> as core::iter::traits::collect::Extend<<A as smallvec::Array>::Item>>::extend
   7: chalk_ir::fold::boring_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::Substitution<I>>::fold_with
   8: chalk_ir::_::<impl chalk_ir::fold::Fold<I> for chalk_ir::WhereClause<I>>::fold_with
   9: chalk_ir::fold::binder_impls::<impl chalk_ir::fold::Fold<I> for[Error - 18:23:18] Request textDocument/semanticTokens/full failed.
  Message: server panicked: index out of bounds: the len is 1 but the index is 1
  Code: -32603 
 chalk_ir::Binders<T>>::fold_with
  10: chalk_ir::Binders<T>::substitute
  11: hir_ty::chalk_db::convert_where_clauses
  12: hir_ty::chalk_db::struct_datum_query
  13: salsa::runtime::Runtime::execute_query_implementation
  14: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  15: salsa::derived::slot::Slot<Q,MP>::read
  16: salsa::QueryTable<Q>::get
  17: <DB as hir_ty::db::HirDatabase>::struct_datum
  18: chalk_solve::clauses::program_clauses_that_could_match
  19: chalk_recursive::solve::SolveIteration::solve_iteration
  20: chalk_recursive::fixed_point::RecursiveContext<K,V>::solve_goal
  21: chalk_recursive::fixed_point::RecursiveContext<K,V>::solve_root_goal
  22: <hir_ty::db::TraitSolveQueryQuery as salsa::plumbing::QueryFunction>::execute
  23: salsa::runtime::Runtime::execute_query_implementation
  24: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  25: salsa::derived::slot::Slot<Q,MP>::read
  26: salsa::QueryTable<Q>::get
  27: <DB as hir_ty::db::HirDatabase>::trait_solve_query
  28: hir_ty::db::trait_solve_wait
  29: <DB as hir_ty::db::HirDatabase>::trait_solve
  30: hir_ty::infer::unify::InferenceTable::try_obligation
  31: hir_ty::autoderef::autoderef_step
  32: <hir_ty::autoderef::Autoderef as core::iter::traits::iterator::Iterator>::next
  33: hir_ty::method_resolution::autoderef_method_receiver
  34: hir_ty::method_resolution::iterate_method_candidates_dyn
  35: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  36: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  37: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr
  38: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  39: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::check_call_arguments
  40: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  41: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  42: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
  43: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  44: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  45: hir_ty::infer::infer_query
  46: salsa::runtime::Runtime::execute_query_implementation
  47: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  48: salsa::derived::slot::Slot<Q,MP>::read
  49: salsa::QueryTable<Q>::get
  50: <DB as hir_ty::db::HirDatabase>::infer_query
  51: hir_ty::db::infer_wait
  52: hir::source_analyzer::SourceAnalyzer::new_for_body
  53: hir::semantics::SemanticsImpl::analyze_impl
  54: ide::inlay_hints::inlay_hints
  55: std::panicking::try
  56: rust_analyzer::handlers::handle_inlay_hints
  57: std::panicking::try
  58: <F as threadpool::FnBox>::call_box
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
thread '<unnamed>' panicked at 'index out of bounds: the len is 1 but the index is 1', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/chalk-ir-0.76.0/src/fold/subst.rs:60:19
stack backtrace:
   0: rust_begin_unwind
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:498:5
   1: core::panicking::panic_fmt
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:116:14
   2: core::panicking::panic_bounds_check
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:84:5
   3: <chalk_ir::fold::subst::Subst<I> as chalk_ir::fold::Folder<I>>::fold_free_var_ty
   4: <chalk_ir::Ty<I> as chalk_ir::fold::SuperFold<I>>::super_fold_with
   5: chalk_ir::fold::boring_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::GenericArg<I>>::fold_with
   6: <smallvec::SmallVec<A> as core::iter::traits::collect::Extend<<A as smallvec::Array>::Item>>::extend
   7: chalk_ir::fold::boring_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::Substitution<I>>::fold_with
   8: chalk_ir::_::<impl chalk_ir::fold::Fold<I> for chalk_ir::WhereClause<I>>::fold_with
   9: chalk_ir::fold::binder_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::Binders<T>>::fold_with
  10: chalk_ir::Binders<T>::substitute
  11: hir_ty::chalk_db::convert_where_clauses
  12: hir_ty::chalk_db::struct_datum_query
  13: salsa::runtime::Runtime::execute_query_implementation
  14: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  15: salsa::derived::slot::Slot<Q,MP>::read
  16: salsa::QueryTable<Q>::get
  17: <DB as hir_ty::db::HirDatabase>::struct_datum
  18: chalk_solve::clauses::program_clauses_that_could_match
  19: chalk_recursive::solve::SolveIteration::solve_iteration
  20: chalk_recursive::fixed_point::RecursiveContext<K,V>::solve_goal
  21: chalk_recursive::fixed_point::RecursiveContext<K,V>::solve_root_goal
  22: <hir_ty::db::TraitSolveQueryQuery as salsa::plumbing::QueryFunction>::execute
  23: salsa::runtime::Runtime::execute_query_implementation
  24: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  25: salsa::derived::slot::Slot<Q,MP>::read
  26: salsa::QueryTable<Q>::get
  27: <DB as hir_ty::db::HirDatabase>::trait_solve_query
  28: hir_ty::db::trait_solve_wait
  29: <DB as hir_ty::db::HirDatabase>::trait_solve
  30: hir_ty::infer::unify::InferenceTable::try_obligation
  31: hir_ty::autoderef::autoderef_step
  32: <hir_ty::autoderef::Autoderef as core::iter::traits::iterator::Iterator>::next
  33: hir_ty::method_resolution::autoderef_method_receiver
  34: hir_ty::method_resolution::iterate_method_candidates_dyn
  35: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  36: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  37: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr
  38: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  39: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::check_call_arguments
  40: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  41: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  42: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
  43: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  44: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  45: hir_ty::infer::infer_query
  46: salsa::runtime::Runtime::execute_query_implementation
  47: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  48: salsa::derived::slot::Slot<Q,MP>::read
  49: salsa::QueryTable<Q>::get
  50: <DB as hir_ty::db::HirDatabase>::infer_query
  51: hir_ty::db::infer_wait
  52: hir::DefWithBody::diagnostics
  53: hir::Module::diagnostics
  54: ide_diagnostics::diagnostics
  55: std::panicking::try
  56: ide::Analysis::diagnostics
  57: rust_analyzer::handlers::publish_diagnostics
  58: core::ops::function::impls::<impl core::ops::function::FnMut<A> for &mut F>::call_mut
  59: alloc::vec::source_iter_marker::<impl alloc::vec::spec_from_iter::SpecFromIter<T,I> for alloc::vec::Vec<T>>::from_iter
  60: <F as threadpool::FnBox>::call_box
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Panic context:
> 
version: 5fae65dd2 2022-03-07 stable
request: rust-analyzer/inlayHints InlayHintsParams {
    text_document: TextDocumentIdentifier {
        uri: Url {
            scheme: "file",
            cannot_be_a_base: false,
            username: "",
            password: None,
            host: None,
            port: None,
            path: "/home/martin/git/hypoboleus/engine/src/store.rs",
            query: None,
            fragment: None,
        },
    },
}

thread '<unnamed>' panicked at 'index out of bounds: the len is 1 but the index is 1', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/chalk-ir-0.76.0/src/fold/subst.rs:60:19
stack backtrace:
   0: rust_begin_unwind
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:498:5
   1: core::panicking::panic_fmt
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:116:14
   2: core::panicking::panic_bounds_check
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:84:5
   3: <chalk_ir::fold::subst::Subst<I> as chalk_ir::fold::Folder<I>>::fold_free_var_ty
   4: <chalk_ir::Ty<I> as chalk_ir::fold::SuperFold<I>>::super_fold_with
   5: chalk_ir::fold::boring_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::GenericArg<I>>::fold_with
   6: <smallvec::SmallVec<A> as core::iter::traits::collect::Extend<<A as smallvec::Array>::Item>>::extend
   7: chalk_ir::fold::boring_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::Substitution<I>>::fold_with
   8: chalk_ir::_::<impl chalk_ir::fold::Fold<I> for chalk_ir::WhereClause<I>>::fold_with
   9: chalk_ir::fold::binder_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::Binders<T>>::fold_with
  10: chalk_ir::Binders<T>::substitute
  11: hir_ty::chalk_db::convert_where_clauses
  12: hir_ty::chalk_db::struct_datum_query
  13: salsa::runtime::Runtime::execute_query_implementation
  14: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  15: salsa::derived::slot::Slot<Q,MP>::read
  16: salsa::QueryTable<Q>::get
  17: <DB as hir_ty::db::HirDatabase>::struct_datum
  18: chalk_solve::clauses::program_clauses_that_could_match
  19: chalk_recursive::solve::SolveIteration::solve_iteration
  20: chalk_recursive::fixed_point::RecursiveContext<K,V>::solve_goal
  21: chalk_recursive::fixed_point::RecursiveContext<K,V>::solve_root_goal
  22: <hir_ty::db::TraitSolveQueryQuery as salsa::plumbing::QueryFunction>::execute
  23: salsa::runtime::Runtime::execute_query_implementation
  24: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  25: salsa::derived::slot::Slot<Q,MP>::read
  26: salsa::QueryTable<Q>::get
  27: <DB as hir_ty::db::HirDatabase>::trait_solve_query
  28: hir_ty::db::trait_solve_wait
  29: <DB as hir_ty::db::HirDatabase>::trait_solve
  30: hir_ty::infer::unify::InferenceTable::try_obligation
  31: hir_ty::autoderef::autoderef_step
  32: <hir_ty::autoderef::Autoderef as core::iter::traits::iterator::Iterator>::next
  33: hir_ty::method_resolution::autoderef_method_receiver
  34: hir_ty::method_resolution::iterate_method_candidates_dyn
  35: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  36: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  37: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr
  38: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  39: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::check_call_arguments
  40: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  41: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  42: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
  43: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  44: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  45: hir_ty::infer::infer_query
  46: salsa::runtime::Runtime::execute_query_implementation
  47: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  48: salsa::derived::slot::Slot<Q,MP>::read
  49: salsa::QueryTable<Q>::get
  50: <DB as hir_ty::db::HirDatabase>::infer_query
  51: hir_ty::db::infer_wait
  52: hir::source_analyzer::SourceAnalyzer::new_for_body
  53: hir::semantics::SemanticsImpl::analyze_impl
  54: ide::inlay_hints::inlay_hints
  55: std::panicking::try
  56: rust_analyzer::handlers::handle_inlay_hints
  57: std::panicking::try
  58: <F as threadpool::FnBox>::call_box
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Panic context:
> 
version: 5fae65dd2 2022-03-07 stable
request: rust-analyzer/inlayHints InlayHintsParams {
    text_document: TextDocumentIdentifier {
        uri: Url {
            scheme: "file",
            cannot_be_a_base: false,
            username: "",
            password: None,
            host: None,
            port: None,
            path: "/home/martin/git/hypoboleus/engine/src/store.rs",
            query: None,
            fragment: None,
        },
    },
}

thread '<unnamed>' panicked at 'index out of bounds: the len is 1 but the index is 1', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/chalk-ir-0.76.0/src/fold/subst.rs:60:19
stack backtrace:
   0: rust_begin_unwind
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:498:5
   1: core::panicking::panic_fmt
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:116:14
   2: core::panicking::panic_bounds_check
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:84:5
   3: <chalk_ir::fold::subst::Subst<I> as chalk_ir::fold::Folder<I>>::fold_free_var_ty
   4: <chalk_ir::Ty<I> as chalk_ir::fold::SuperFold<I>>::super_fold_with
   5: chalk_ir::fold::boring_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::GenericArg<I>>::fold_with
   6: <smallvec::SmallVec<A> as core::iter::traits::collect::Extend<<A as smallvec::Array>::Item>>::extend
   7: chalk_ir::fold::boring_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::Substitution<I>>::fold_with
   8: chalk_ir::_::<impl chalk_ir::fold::Fold<I> for chalk_ir::WhereClause<I>>::fold_with
   9: chalk_ir::fold::binder_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::Binders<T>>::fold_with
  10: chalk_ir::Binders<T>::substitute
  11: hir_ty::chalk_db::convert_where_clauses
  12: hir_ty::chalk_db::struct_datum_query
  13: salsa::runtime::Runtime::execute_query_implementation
  14: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  15: salsa::derived::slot::Slot<Q,MP>::read
  16: salsa::QueryTable<Q>::get
  17: <DB as hir_ty::db::HirDatabase>::struct_datum
  18: chalk_solve::clauses::program_clauses_that_could_match
  19: chalk_recursive::solve::SolveIteration::solve_iteration
  20: chalk_recursive::fixed_point::RecursiveContext<K,V>::solve_goal
  21: chalk_recursive::fixed_point::RecursiveContext<K,V>::solve_root_goal
  22: <hir_ty::db::TraitSolveQueryQuery as salsa::plumbing::QueryFunction>::execute
  23: salsa::runtime::Runtime::execute_query_implementation
  24: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  25: salsa::derived::slot::Slot<Q,MP>::read
  26: salsa::QueryTable<Q>::get
  27: <DB as hir_ty::db::HirDatabase>::trait_solve_query
  28: hir_ty::db::trait_solve_wait
  29: <DB as hir_ty::db::HirDatabase>::trait_solve
  30: hir_ty::infer::unify::InferenceTable::try_obligation
  31: hir_ty::autoderef::autoderef_step
  32: <hir_ty::autoderef::Autoderef as core::iter::traits::iterator::Iterator>::next
  33: hir_ty::method_resolution::autoderef_method_receiver
  34: hir_ty::method_resolution::iterate_method_candidates_dyn
  35: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  36: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  37: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr
  38: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  39: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::check_call_arguments
  40: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  41: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  42: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
  43: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  44: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  45: hir_ty::infer::infer_query
  46: salsa::runtime::Runtime::execute_query_implementation
  47: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  48: salsa::derived::slot::Slot<Q,MP>::read
  49: salsa::QueryTable<Q>::get
  50: <DB as hir_ty::db::HirDatabase>::infer_query
  51: hir_ty::db::infer_wait
  52: hir::source_analyzer::SourceAnalyzer::new_for_body
  53: hir::semantics::SemanticsImpl::analyze_impl
  54: ide::inlay_hints::inlay_hints
  55: std::panicking::try
  56: rust_analyzer::handlers::handle_inlay_hints
  57: std::panicking::try
  58: <F as threadpool::FnBox>::call_box
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
Panic context:
> 
version: 5fae65dd2 2022-03-07 stable
request: textDocument/semanticTokens/range SemanticTokensRangeParams {
    work_done_progress_params: WorkDoneProgressParams {
        work_done_token: None,
    },
    partial_result_params: PartialResultParams {
        partial_result_token: None,
    },
    text_document: TextDocumentIdentifier {
        uri: Url {
            scheme: "file",
            cannot_be_a_base: false,
            username: "",
            password: None,
            host: None,
            port: None,
            path: "/home/martin/git/hypoboleus/engine/src/store.rs",
            query: None,
            fragment: None,
        },
    },
    range: Range {
        start: Position {
            line: 23,
            character: 0,
        },
        end: Position {
            line: 207,
            character: 18,
        },
    },
}

thread '<unnamed>' panicked at 'index out of bounds: the len is 1 but the index is 1', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/chalk-ir-0.76.0/src/fold/subst.rs:60:19
stack backtrace:
   0: rust_begin_unwind
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:498:5
   1: core::panicking::panic_fmt
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:116:14
   2: core::panicking::panic_bounds_check
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:84:5
   3: <chalk_ir::fold::subst::Subst<I> as chalk_ir::fold::Folder<I>>::fold_free_var_ty
   4: <chalk_ir::Ty<I> as chalk_ir::fold::SuperFold<I>>::super_fold_with
   5: chalk_ir::fold::boring_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::GenericArg<I>>::fold_with
   6: <smallvec::SmallVec<A> as core::iter::traits::collect::Extend<<A as smallvec::Array>::Item>>::extend
   7: chalk_ir::fold::boring_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::Substitution<I>>::fold_with
   8: chalk_ir::_::<impl chalk_ir::fold::Fold<I> for chalk_ir::WhereClause<I>>::fold_with
   9: chalk_ir::fold::binder_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::Binders<T>>::fold_with
  10: chalk_ir::Binders<T>::substitute
  11: hir_ty::chalk_db::convert_where_clauses
  12: hir_ty::chalk_db::struct_datum_query
  13: salsa::runtime::Runtime::execute_query_implementation
  14: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  15: salsa::derived::slot::Slot<Q,MP>::read
  16: salsa::QueryTable<Q>::get
  17: <DB as hir_ty::db::HirDatabase>::struct_datum
  18: chalk_solve::clauses::program_clauses_that_could_match
  19: chalk_recursive::solve::SolveIteration::solve_iteration
  20: chalk_recursive::fixed_point::RecursiveContext<K,V>::solve_goal
  21: chalk_recursive::fixed_point::RecursiveContext<K,V>::solve_root_goal
  22: <hir_ty::db::TraitSolveQueryQuery as salsa::plumbing::QueryFunction>::execute
  23: salsa::runtime::Runtime::execute_query_implementation
  24: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  25: salsa::derived::slot::Slot<Q,MP>::read
  26: salsa::QueryTable<Q>::get
  27: <DB as hir_ty::db::HirDatabase>::trait_solve_query
  28: hir_ty::db::trait_solve_wait
  29: <DB as hir_ty::db::HirDatabase>::trait_solve
  30: hir_ty::infer::unify::InferenceTable::try_obligation
  31: hir_ty::autoderef::autoderef_step
  32: <hir_ty::autoderef::Autoderef as core::iter::traits::iterator::Iterator>::next
  33: hir_ty::method_resolution::autoderef_method_receiver
  34: hir_ty::method_resolution::iterate_method_candidates_dyn
  35: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  36: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  37: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr
  38: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  39: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::check_call_arguments
  40: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  41: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  42: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
  43: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  44: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  45: hir_ty::infer::infer_query
  46: salsa::runtime::Runtime::execute_query_implementation
  47: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  48: salsa::derived::slot::Slot<Q,MP>::read
  49: salsa::QueryTable<Q>::get
  50: <DB as hir_ty::db::HirDatabase>::infer_query
  51: hir_ty::db::infer_wait
  52: hir::Local::ty
  53: ide::syntax_highlighting::highlight::highlight_def
  54: ide::syntax_highlighting::highlight::name_like
  55: ide::syntax_highlighting::highlight
  56: std::panicking::try
  57: rust_analyzer::handlers::handle_semantic_tokens_range
  58: std::panicking::try
  59: <F as threadpool::FnBox>::call_box
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[Error - 18:23:19] Request textDocument/semanticTokens/range failed.
  Message: server panicked: index out of bounds: the len is 1 but the index is 1
  Code: -32603 
Panic context:
> 
version: 5fae65dd2 2022-03-07 stable
request: rust-analyzer/inlayHints InlayHintsParams {
    text_document: TextDocumentIdentifier {
        uri: Url {
            scheme: "file",
            cannot_be_a_base: false,
            username: "",
            password: None,
            host: None,
            port: None,
            path: "/home/martin/git/hypoboleus/engine/src/store.rs",
            query: None,
            fragment: None,
        },
    },
}

thread '<unnamed>' panicked at 'index out of bounds: the len is 1 but the index is 1', /home/runner/.cargo/registry/src/github.com-1ecc6299db9ec823/chalk-ir-0.76.0/src/fold/subst.rs:60:19
stack backtrace:
   0: rust_begin_unwind
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/std/src/panicking.rs:498:5
   1: core::panicking::panic_fmt
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:116:14
   2: core::panicking::panic_bounds_check
             at /rustc/9d1b2106e23b1abd32fce1f17267604a5102f57a/library/core/src/panicking.rs:84:5
   3: <chalk_ir::fold::subst::Subst<I> as chalk_ir::fold::Folder<I>>::fold_free_var_ty
   4: <chalk_ir::Ty<I> as chalk_ir::fold::SuperFold<I>>::super_fold_with
   5: chalk_ir::fold::boring_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::GenericArg<I>>::fold_with
   6: <smallvec::SmallVec<A> as core::iter::traits::collect::Extend<<A as smallvec::Array>::Item>>::extend
   7: chalk_ir::fold::boring_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::Substitution<I>>::fold_with
   8: chalk_ir::_::<impl chalk_ir::fold::Fold<I> for chalk_ir::WhereClause<I>>::fold_with
   9: chalk_ir::fold::binder_impls::<impl chalk_ir::fold::Fold<I> for chalk_ir::Binders<T>>::fold_with
  10: chalk_ir::Binders<T>::substitute
  11: hir_ty::chalk_db::convert_where_clauses
  12: hir_ty::chalk_db::struct_datum_query
  13: salsa::runtime::Runtime::execute_query_implementation
  14: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  15: salsa::derived::slot::Slot<Q,MP>::read
  16: salsa::QueryTable<Q>::get
  17: <DB as hir_ty::db::HirDatabase>::struct_datum
  18: chalk_solve::clauses::program_clauses_that_could_match
  19: chalk_recursive::solve::SolveIteration::solve_iteration
  20: chalk_recursive::fixed_point::RecursiveContext<K,V>::solve_goal
  21: chalk_recursive::fixed_point::RecursiveContext<K,V>::solve_root_goal
  22: <hir_ty::db::TraitSolveQueryQuery as salsa::plumbing::QueryFunction>::execute
  23: salsa::runtime::Runtime::execute_query_implementation
  24: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  25: salsa::derived::slot::Slot<Q,MP>::read
  26: salsa::QueryTable<Q>::get
  27: <DB as hir_ty::db::HirDatabase>::trait_solve_query
  28: hir_ty::db::trait_solve_wait
  29: <DB as hir_ty::db::HirDatabase>::trait_solve
  30: hir_ty::infer::unify::InferenceTable::try_obligation
  31: hir_ty::autoderef::autoderef_step
  32: <hir_ty::autoderef::Autoderef as core::iter::traits::iterator::Iterator>::next
  33: hir_ty::method_resolution::autoderef_method_receiver
  34: hir_ty::method_resolution::iterate_method_candidates_dyn
  35: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  36: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  37: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr
  38: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  39: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::check_call_arguments
  40: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  41: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  42: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_block
  43: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_inner
  44: hir_ty::infer::expr::<impl hir_ty::infer::InferenceContext>::infer_expr_coerce
  45: hir_ty::infer::infer_query
  46: salsa::runtime::Runtime::execute_query_implementation
  47: salsa::derived::slot::Slot<Q,MP>::read_upgrade
  48: salsa::derived::slot::Slot<Q,MP>::read
  49: salsa::QueryTable<Q>::get
  50: <DB as hir_ty::db::HirDatabase>::infer_query
  51: hir_ty::db::infer_wait
  52: hir::source_analyzer::SourceAnalyzer::new_for_body
  53: hir::semantics::SemanticsImpl::analyze_impl
  54: ide::inlay_hints::inlay_hints
  55: std::panicking::try
  56: rust_analyzer::handlers::handle_inlay_hints
  57: std::panicking::try
  58: <F as threadpool::FnBox>::call_box
note: Some details are omitted, run with `RUST_BACKTRACE=full` for a verbose backtrace.
[Error - 18:36:56] Request textDocument/hover failed.
  Message: Invalid offset
  Code: -32603 

Metadata

Metadata

Assignees

No one assigned

    Labels

    A-tytype system / type inference / traits / method resolutionC-bugCategory: bugS-actionableSomeone could pick this issue up and work on it right now

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions