-
Notifications
You must be signed in to change notification settings - Fork 13.7k
rust-analyzer
subtree update
#146086
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
rust-analyzer
subtree update
#146086
Conversation
...ide a macro Descend into macros first.
Example === ```rust let x = 0ドル; ``` Old completions: ```rust let x = if 1ドル { 0ドル }; ``` This PR current completions: ```rust let x = if 1ドル { 2ドル } else { 0ドル }; ```
...-macro fix: Correctly goto `From` impl when on `into()` even when the call is inside a macro
...perms chore: fix crates/ide/src/folding_ranges.rs file perms
...en when some cannot rename
This caused rename to remove both, because it couldn't rename the derive-expanded one. I spent some time trying to create a test for this, before giving up. But I checked manually that this works.
Slim down compile time artifact progress reports
remove `add_attr()` from edit_in_place.rs because it use `ted`.
...lace_named_generic_with_impl remove `ted` from replace_named_generic_with_impl.rs
..._import Migrate `expand_glob_import` assist to use `SyntaxEditor`
Add assignment type analysis for ide-completion
fix external docs for exported macros
fix: Do not remove the original token when descending into derives
Remove only contain literals dbg statement ```rust fn foo() { let n = 2; 0ドルdbg!(3); dbg!(2.6); dbg!(1, 2.5); dbg!('x'); dbg!(&n); dbg!(n); // needless comment dbg!("foo");0ドル } ``` -> ```rust fn foo() { // needless comment } ``` Old: ```rust fn foo() { 3; 2.6; (1, 2.5); 'x'; &n; n; // needless comment "foo"; } ```
...e-dbg Add remove literal dbg stmt for remove_dbg
...lxvvyy Report the incorrect payload when failing to deserialize lsp messages
...wpkmxw Fix non-lsp compliant `Response` definition
Bumps [tmp](https://github.com/raszi/node-tmp) from 0.2.3 to 0.2.4. - [Changelog](https://github.com/raszi/node-tmp/blob/master/CHANGELOG.md) - [Commits](raszi/node-tmp@v0.2.3...v0.2.4) --- updated-dependencies: - dependency-name: tmp dependency-version: 0.2.4 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
...ast_instead_of_str In handlers/extract_module.rs, generate ast::Module instead of String
`NormalizesTo` is a private predicate that should not be used outside the solver. For normalization, rustc uses `AliasRelate`, so replace with that.
fix: Masquerade as nightly cargo when invoking flycheck with `-Zscript`
Make import sorting order follow 2024 edition style
...rmalize fix: Normalize all types when finishing inference
feat: Add an option to remove reborrows from adjustment inlay hints
...m-indent Fix indent for move_guard_to_arm_body
...colon Fix ExprStmt delete semicolon for toggle_macro_delimiter
...zokqwu Enable warning logs by default
Replace it with normal `SolverDefId::TypeAliasId`. The split caused a very funny bug where code was getting `TypeAliasId` where it expected `ForeignId`, because `TypeAliasId` had a `From` impl from `hir_def::TypeAliasId` and `ForeignId` had not, plus a careless `into()`. I could've fixed this specific bug but opted to remove the split instead; currently, it just provides more room for bugs, as we don't have typed IDs for the solver anyway, and even when we'll have (hopefully), that doesn't seem like a very useful distinction, for example in hir-def foreign types are just `TypeAliasId` with some flags. Constructing a test for this isn't trivial; the trivial test (creating a foreign type, even proving a trait bound for it) fails to fail before the change, probably because we don't use the new solver everywhere yet so we don't trigger this specific code path.
fix: Remove `SolverDefId::ForeignId`
... operations of other unsafe blocks
...lver perf: Cache trait solving across queries in the same revision
...ated-unsafe-scope fix: In highlight_related, when on an unsafe block, don't highlight unsafe operations of other unsafe blocks
...attach fix: Attach the db in one more place in highlighting
Namely, mir lowering, const eval and IDE things.
A DB is enough.
minor: Don't require a full `InferenceTable` for `CastTy`
...0) to auto traits' substitutions Chalk represents dyn types as a list of predicate, the self type should be there. The next solver represents them quite differently. The `Self` was forgotten for the auto trait case.
...s-improve fix: Add progress bars to more places in analysis-stats
Bumps [tracing-subscriber](https://github.com/tokio-rs/tracing) from 0.3.19 to 0.3.20. - [Release notes](https://github.com/tokio-rs/tracing/releases) - [Commits](tokio-rs/tracing@tracing-subscriber-0.3.19...tracing-subscriber-0.3.20) --- updated-dependencies: - dependency-name: tracing-subscriber dependency-version: 0.3.20 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com>
...acing-subscriber-0.3.20 Bump tracing-subscriber from 0.3.19 to 0.3.20
...-dyn-auto-trait fix: When mapping next-solver's `dyn` type, add `Self` (aka. bound var ^1.0) to auto traits' substitutions
...get-option fix: Avoid `--target` option being given twice to `rustc` when invoked through `cargo rustc` while fetching target data layout
rust-analyzer is developed in its own repository. If possible, consider making this change to rust-lang/rust-analyzer instead.
cc @rust-lang/rust-analyzer
The job pr-check-2
failed! Check out the build log: (web) (plain enhanced) (plain)
Click to see the possible cause of the failure (guessed by this bot)
Checking toml v0.8.23
[RUSTC-TIMING] hashbrown test:false 0.545
Checking inotify v0.11.0
[RUSTC-TIMING] icu_normalizer test:false 0.467
error[E0277]: the trait bound `rustc_type_ir::BoundVar: BoundVarLike<next_solver::interner::DbInterner<'db>>` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/consts.rs:341:18
|
341 | type Bound = rustc_type_ir::BoundVar;
| ^^^^^^^^^^^^^^^^^^^^^^^ the trait `BoundVarLike<next_solver::interner::DbInterner<'db>>` is not implemented for `rustc_type_ir::BoundVar`
|
= help: the following other types implement trait `BoundVarLike<I>`:
`region::BoundRegion` implements `BoundVarLike<next_solver::interner::DbInterner<'db>>`
`rustc_middle::ty::BoundConst` implements `BoundVarLike<rustc_middle::ty::context::TyCtxt<'tcx>>`
`rustc_middle::ty::region::BoundRegion` implements `BoundVarLike<rustc_middle::ty::context::TyCtxt<'tcx>>`
`rustc_middle::ty::sty::BoundTy` implements `BoundVarLike<rustc_middle::ty::context::TyCtxt<'tcx>>`
`ty::BoundTy` implements `BoundVarLike<next_solver::interner::DbInterner<'db>>`
note: required by a bound in `rustc_type_ir::inherent::PlaceholderLike::Bound`
--> /checkout/compiler/rustc_type_ir/src/inherent.rs:540:17
|
540 | type Bound: BoundVarLike<I>;
| ^^^^^^^^^^^^^^^ required by this bound in `PlaceholderLike::Bound`
[RUSTC-TIMING] toml test:false 0.354
Checking cargo-util-schemas v0.8.2
[RUSTC-TIMING] inotify test:false 0.222
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/snapshot/undo_log.rs:30:25
|
30 | IntUnificationTable(sv::UndoLog<ut::Delegate<IntVid>>),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
= note: required for `ena::unify::Delegate<IntVid>` to implement `SnapshotVecDelegate`
note: required by a bound in `ena::snapshot_vec::UndoLog`
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:32:21
|
32 | pub enum UndoLog<D: SnapshotVecDelegate> {
| ^^^^^^^^^^^^^^^^^^^ required by this bound in `UndoLog`
error[E0277]: the trait bound `FloatVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/snapshot/undo_log.rs:31:27
|
31 | FloatUnificationTable(sv::UndoLog<ut::Delegate<FloatVid>>),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `FloatVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:573:1
|
573 | / rustc_index::newtype_index! {
574 | | /// A **float**ing-point (`f32` or `f64`) type **v**ariable **ID**.
575 | | #[encodable]
576 | | #[orderable]
577 | | #[debug_format = "?{}f"]
578 | | #[gate_rustc_only]
579 | | pub struct FloatVid {}
| |_______________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
= note: required for `ena::unify::Delegate<FloatVid>` to implement `SnapshotVecDelegate`
note: required by a bound in `ena::snapshot_vec::UndoLog`
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:32:21
|
32 | pub enum UndoLog<D: SnapshotVecDelegate> {
| ^^^^^^^^^^^^^^^^^^^ required by this bound in `UndoLog`
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/snapshot/undo_log.rs:41:13
|
37 | / macro_rules! impl_from {
38 | | ($($ctor:ident ($ty:ty),)*) => {
39 | | $(
40 | | impl<'db> From<$ty> for UndoLog<'db> {
41 | | fn from(x: $ty) -> Self {
| | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
... |
47 | | }
| |_- in this expansion of `impl_from!`
...
50 | / impl_from! {
51 | | RegionConstraintCollector(region_constraints::UndoLog<'db>),
52 | |
53 | | TypeVariables(sv::UndoLog<ut::Delegate<type_variable::TyVidEqKey<'db>>>),
... |
59 | | RegionUnificationTable(sv::UndoLog<ut::Delegate<RegionVidKey<'db>>>),
60 | | }
| |_- in this macro invocation
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
= note: required for `ena::unify::Delegate<IntVid>` to implement `SnapshotVecDelegate`
note: required by a bound in `ena::snapshot_vec::UndoLog`
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:32:21
|
32 | pub enum UndoLog<D: SnapshotVecDelegate> {
| ^^^^^^^^^^^^^^^^^^^ required by this bound in `UndoLog`
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/snapshot/undo_log.rs:40:19
|
37 | / macro_rules! impl_from {
38 | | ($($ctor:ident ($ty:ty),)*) => {
39 | | $(
40 | | impl<'db> From<$ty> for UndoLog<'db> {
| | ^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
... |
47 | | }
| |_- in this expansion of `impl_from!`
...
50 | / impl_from! {
51 | | RegionConstraintCollector(region_constraints::UndoLog<'db>),
52 | |
53 | | TypeVariables(sv::UndoLog<ut::Delegate<type_variable::TyVidEqKey<'db>>>),
... |
59 | | RegionUnificationTable(sv::UndoLog<ut::Delegate<RegionVidKey<'db>>>),
60 | | }
| |_- in this macro invocation
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
= note: required for `ena::unify::Delegate<IntVid>` to implement `SnapshotVecDelegate`
note: required by a bound in `ena::snapshot_vec::UndoLog`
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:32:21
|
32 | pub enum UndoLog<D: SnapshotVecDelegate> {
| ^^^^^^^^^^^^^^^^^^^ required by this bound in `UndoLog`
error[E0277]: the trait bound `FloatVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/snapshot/undo_log.rs:41:13
|
37 | / macro_rules! impl_from {
38 | | ($($ctor:ident ($ty:ty),)*) => {
39 | | $(
40 | | impl<'db> From<$ty> for UndoLog<'db> {
41 | | fn from(x: $ty) -> Self {
| | ^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `FloatVid`
... |
47 | | }
| |_- in this expansion of `impl_from!`
...
50 | / impl_from! {
51 | | RegionConstraintCollector(region_constraints::UndoLog<'db>),
52 | |
53 | | TypeVariables(sv::UndoLog<ut::Delegate<type_variable::TyVidEqKey<'db>>>),
... |
59 | | RegionUnificationTable(sv::UndoLog<ut::Delegate<RegionVidKey<'db>>>),
60 | | }
| |_- in this macro invocation
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:573:1
|
573 | / rustc_index::newtype_index! {
574 | | /// A **float**ing-point (`f32` or `f64`) type **v**ariable **ID**.
575 | | #[encodable]
576 | | #[orderable]
577 | | #[debug_format = "?{}f"]
578 | | #[gate_rustc_only]
579 | | pub struct FloatVid {}
| |_______________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
= note: required for `ena::unify::Delegate<FloatVid>` to implement `SnapshotVecDelegate`
note: required by a bound in `ena::snapshot_vec::UndoLog`
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:32:21
|
32 | pub enum UndoLog<D: SnapshotVecDelegate> {
| ^^^^^^^^^^^^^^^^^^^ required by this bound in `UndoLog`
error[E0277]: the trait bound `FloatVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/snapshot/undo_log.rs:40:19
|
37 | / macro_rules! impl_from {
38 | | ($($ctor:ident ($ty:ty),)*) => {
39 | | $(
40 | | impl<'db> From<$ty> for UndoLog<'db> {
| | ^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `FloatVid`
... |
47 | | }
| |_- in this expansion of `impl_from!`
...
50 | / impl_from! {
51 | | RegionConstraintCollector(region_constraints::UndoLog<'db>),
52 | |
53 | | TypeVariables(sv::UndoLog<ut::Delegate<type_variable::TyVidEqKey<'db>>>),
... |
59 | | RegionUnificationTable(sv::UndoLog<ut::Delegate<RegionVidKey<'db>>>),
60 | | }
| |_- in this macro invocation
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:573:1
|
573 | / rustc_index::newtype_index! {
574 | | /// A **float**ing-point (`f32` or `f64`) type **v**ariable **ID**.
575 | | #[encodable]
576 | | #[orderable]
577 | | #[debug_format = "?{}f"]
578 | | #[gate_rustc_only]
579 | | pub struct FloatVid {}
| |_______________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
= note: required for `ena::unify::Delegate<FloatVid>` to implement `SnapshotVecDelegate`
note: required by a bound in `ena::snapshot_vec::UndoLog`
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:32:21
|
32 | pub enum UndoLog<D: SnapshotVecDelegate> {
| ^^^^^^^^^^^^^^^^^^^ required by this bound in `UndoLog`
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/mod.rs:100:41
|
100 | pub(crate) int_unification_storage: ut::UnificationTableStorage<IntVid>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
note: required by a bound in `InPlace`
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/backing_vec.rs:57:8
|
56 | pub struct InPlace<
| ------- required by a bound in this struct
57 | K: UnifyKey,
| ^^^^^^^^ required by this bound in `InPlace`
error[E0277]: the trait bound `FloatVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/mod.rs:103:43
|
103 | pub(crate) float_unification_storage: ut::UnificationTableStorage<FloatVid>,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `FloatVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:573:1
|
573 | / rustc_index::newtype_index! {
574 | | /// A **float**ing-point (`f32` or `f64`) type **v**ariable **ID**.
575 | | #[encodable]
576 | | #[orderable]
577 | | #[debug_format = "?{}f"]
578 | | #[gate_rustc_only]
579 | | pub struct FloatVid {}
| |_______________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
note: required by a bound in `InPlace`
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/backing_vec.rs:57:8
|
56 | pub struct InPlace<
| ------- required by a bound in this struct
57 | K: UnifyKey,
| ^^^^^^^^ required by this bound in `InPlace`
error[E0277]: the trait bound `rustc_type_ir::BoundVar: BoundVarLike<next_solver::interner::DbInterner<'db>>` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/interner.rs:926:23
|
926 | type BoundConst = rustc_type_ir::BoundVar;
| ^^^^^^^^^^^^^^^^^^^^^^^ the trait `BoundVarLike<next_solver::interner::DbInterner<'db>>` is not implemented for `rustc_type_ir::BoundVar`
|
= help: the following other types implement trait `BoundVarLike<I>`:
`region::BoundRegion` implements `BoundVarLike<next_solver::interner::DbInterner<'db>>`
`rustc_middle::ty::BoundConst` implements `BoundVarLike<rustc_middle::ty::context::TyCtxt<'tcx>>`
`rustc_middle::ty::region::BoundRegion` implements `BoundVarLike<rustc_middle::ty::context::TyCtxt<'tcx>>`
`rustc_middle::ty::sty::BoundTy` implements `BoundVarLike<rustc_middle::ty::context::TyCtxt<'tcx>>`
`ty::BoundTy` implements `BoundVarLike<next_solver::interner::DbInterner<'db>>`
note: required by a bound in `rustc_type_ir::Interner::BoundConst`
--> /checkout/compiler/rustc_type_ir/src/interner.rs:143:22
|
143 | type BoundConst: BoundVarLike<Self>;
| ^^^^^^^^^^^^^^^^^^ required by this bound in `Interner::BoundConst`
error[E0046]: not all trait items implemented, missing: `TraitId`, `require_trait_lang_item`, `is_trait_lang_item`, `as_trait_lang_item`
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/interner.rs:861:1
|
861 | impl<'db> rustc_type_ir::Interner for DbInterner<'db> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `TraitId`, `require_trait_lang_item`, `is_trait_lang_item`, `as_trait_lang_item` in implementation
|
= help: implement the missing item: `type TraitId = /* Type */;`
= help: implement the missing item: `fn require_trait_lang_item(self, _: SolverTraitLangItem) -> <Self as rustc_type_ir::Interner>::TraitId { todo!() }`
= help: implement the missing item: `fn is_trait_lang_item(self, _: <Self as rustc_type_ir::Interner>::TraitId, _: SolverTraitLangItem) -> bool { todo!() }`
= help: implement the missing item: `fn as_trait_lang_item(self, _: <Self as rustc_type_ir::Interner>::TraitId) -> std::option::Option<SolverTraitLangItem> { todo!() }`
error[E0046]: not all trait items implemented, missing: `new_coroutine_witness_for_coroutine`
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/ty.rs:530:1
|
530 | impl<'db> rustc_type_ir::inherent::Ty<DbInterner<'db>> for Ty<'db> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing `new_coroutine_witness_for_coroutine` in implementation
|
= help: implement the missing item: `fn new_coroutine_witness_for_coroutine(_: next_solver::interner::DbInterner<'db>, _: <next_solver::interner::DbInterner<'db> as rustc_type_ir::Interner>::DefId, _: <next_solver::interner::DbInterner<'db> as rustc_type_ir::Interner>::GenericArgs) -> Self { todo!() }`
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/snapshot/undo_log.rs:54:25
|
54 | IntUnificationTable(sv::UndoLog<ut::Delegate<IntVid>>),
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
---
Checking filetime v0.2.25
error[E0027]: pattern does not mention field `goal`
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/fulfill.rs:170:21
|
170 | let GoalEvaluation { certainty, has_changed, stalled_on } = match result {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ missing field `goal`
|
help: include the missing field in the pattern
|
170 | let GoalEvaluation { certainty, has_changed, stalled_on, goal } = match result {
| ++++++
help: if you don't care about this missing field, you can explicitly ignore it
|
170 | let GoalEvaluation { certainty, has_changed, stalled_on, goal: _ } = match result {
| +++++++++
help: or always ignore missing fields here
|
170 | let GoalEvaluation { certainty, has_changed, stalled_on, .. } = match result {
| ++++
error[E0560]: struct `CoroutineClosureArgsParts<next_solver::interner::DbInterner<'db>>` has no field named `coroutine_witness_ty`
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/generic_arg.rs:386:17
|
386 | coroutine_witness_ty: coroutine_witness_ty.expect_ty(),
| ^^^^^^^^^^^^^^^^^^^^ `CoroutineClosureArgsParts<_>` does not have this field
|
= note: all struct fields are already assigned
error[E0560]: struct `CoroutineArgsParts<next_solver::interner::DbInterner<'db>>` has no field named `witness`
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/generic_arg.rs:402:21
|
402 | witness: Ty::new_unit(interner),
| ^^^^^^^ `CoroutineArgsParts<_>` does not have this field
|
= note: all struct fields are already assigned
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/context.rs:105:39
|
105 | ... inner.int_unification_table().probe_value(vid),
| ^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
note: required by a bound in `InPlace`
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/backing_vec.rs:57:8
|
56 | pub struct InPlace<
| ------- required by a bound in this struct
57 | K: UnifyKey,
| ^^^^^^^^ required by this bound in `InPlace`
[RUSTC-TIMING] filetime test:false 0.097
Checking notify-types v2.0.0
error[E0599]: the method `probe_value` exists for struct `UnificationTable<InPlace<IntVid, &mut Vec<VarValue<IntVid>>, ...>>`, but its trait bounds were not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/context.rs:105:63
|
105 | ... inner.int_unification_table().probe_value(vid),
| ^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/backing_vec.rs:56:1
|
56 | / pub struct InPlace<
57 | | K: UnifyKey,
58 | | V: sv::VecLike<Delegate<K>> = Vec<VarValue<K>>,
59 | | L = VecLog<sv::UndoLog<Delegate<K>>>,
60 | | > {
| |_- doesn't satisfy `<_ as UnificationStoreBase>::Key = IntVid`
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- doesn't satisfy `IntVid: ena::unify::UnifyKey`
|
= note: the following trait bounds were not satisfied:
`IntVid: ena::unify::UnifyKey`
`IntVid: ena::unify::UnifyKey`
which is required by `<InPlace<IntVid, &mut Vec<VarValue<IntVid>>, &mut InferCtxtUndoLogs<'_>> as UnificationStoreBase>::Key = IntVid`
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/context.rs:107:46
|
107 | ... if inner.int_unification_table().find(vid) == vid
| ^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
note: required by a bound in `InPlace`
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/backing_vec.rs:57:8
|
56 | pub struct InPlace<
| ------- required by a bound in this struct
57 | K: UnifyKey,
| ^^^^^^^^ required by this bound in `InPlace`
error[E0599]: the method `find` exists for struct `UnificationTable<InPlace<IntVid, &mut Vec<VarValue<IntVid>>, ...>>`, but its trait bounds were not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/context.rs:107:70
|
107 | ... if inner.int_unification_table().find(vid) == vid
| ^^^^ method cannot be called due to unsatisfied trait bounds
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/backing_vec.rs:56:1
|
56 | / pub struct InPlace<
57 | | K: UnifyKey,
58 | | V: sv::VecLike<Delegate<K>> = Vec<VarValue<K>>,
59 | | L = VecLog<sv::UndoLog<Delegate<K>>>,
60 | | > {
| |_- doesn't satisfy `<_ as UnificationStoreBase>::Key = IntVid`
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- doesn't satisfy `IntVid: ena::unify::UnifyKey`
|
= note: the following trait bounds were not satisfied:
`IntVid: ena::unify::UnifyKey`
`IntVid: ena::unify::UnifyKey`
which is required by `<InPlace<IntVid, &mut Vec<VarValue<IntVid>>, &mut InferCtxtUndoLogs<'_>> as UnificationStoreBase>::Key = IntVid`
error[E0277]: the trait bound `FloatVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/context.rs:113:39
|
113 | ... inner.float_unification_table().probe_value(vid),
| ^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `FloatVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:573:1
|
573 | / rustc_index::newtype_index! {
574 | | /// A **float**ing-point (`f32` or `f64`) type **v**ariable **ID**.
575 | | #[encodable]
576 | | #[orderable]
577 | | #[debug_format = "?{}f"]
578 | | #[gate_rustc_only]
579 | | pub struct FloatVid {}
| |_______________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
note: required by a bound in `InPlace`
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/backing_vec.rs:57:8
|
56 | pub struct InPlace<
| ------- required by a bound in this struct
57 | K: UnifyKey,
| ^^^^^^^^ required by this bound in `InPlace`
error[E0599]: the method `probe_value` exists for struct `UnificationTable<InPlace<FloatVid, &mut Vec<VarValue<FloatVid>>, ...>>`, but its trait bounds were not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/context.rs:113:65
|
113 | ... inner.float_unification_table().probe_value(vid),
| ^^^^^^^^^^^ method cannot be called due to unsatisfied trait bounds
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/backing_vec.rs:56:1
|
56 | / pub struct InPlace<
57 | | K: UnifyKey,
58 | | V: sv::VecLike<Delegate<K>> = Vec<VarValue<K>>,
59 | | L = VecLog<sv::UndoLog<Delegate<K>>>,
60 | | > {
| |_- doesn't satisfy `<_ as UnificationStoreBase>::Key = FloatVid`
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:573:1
|
573 | / rustc_index::newtype_index! {
574 | | /// A **float**ing-point (`f32` or `f64`) type **v**ariable **ID**.
575 | | #[encodable]
576 | | #[orderable]
577 | | #[debug_format = "?{}f"]
578 | | #[gate_rustc_only]
579 | | pub struct FloatVid {}
| |_______________________- doesn't satisfy `FloatVid: ena::unify::UnifyKey`
|
= note: the following trait bounds were not satisfied:
`FloatVid: ena::unify::UnifyKey`
`FloatVid: ena::unify::UnifyKey`
which is required by `<InPlace<FloatVid, &mut Vec<VarValue<FloatVid>>, &mut InferCtxtUndoLogs<'_>> as UnificationStoreBase>::Key = FloatVid`
error[E0277]: the trait bound `FloatVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/context.rs:115:46
|
115 | ... if inner.float_unification_table().find(vid) == vid
| ^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `FloatVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:573:1
|
573 | / rustc_index::newtype_index! {
574 | | /// A **float**ing-point (`f32` or `f64`) type **v**ariable **ID**.
575 | | #[encodable]
576 | | #[orderable]
577 | | #[debug_format = "?{}f"]
578 | | #[gate_rustc_only]
579 | | pub struct FloatVid {}
| |_______________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
note: required by a bound in `InPlace`
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/backing_vec.rs:57:8
|
56 | pub struct InPlace<
| ------- required by a bound in this struct
57 | K: UnifyKey,
| ^^^^^^^^ required by this bound in `InPlace`
[RUSTC-TIMING] notify_types test:false 0.110
Compiling pulldown-cmark v0.9.6
error[E0599]: the method `find` exists for struct `UnificationTable<InPlace<FloatVid, &mut Vec<VarValue<FloatVid>>, ...>>`, but its trait bounds were not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/context.rs:115:72
|
115 | ... if inner.float_unification_table().find(vid) == vid
| ^^^^ method cannot be called due to unsatisfied trait bounds
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/backing_vec.rs:56:1
|
56 | / pub struct InPlace<
57 | | K: UnifyKey,
58 | | V: sv::VecLike<Delegate<K>> = Vec<VarValue<K>>,
59 | | L = VecLog<sv::UndoLog<Delegate<K>>>,
60 | | > {
| |_- doesn't satisfy `<_ as UnificationStoreBase>::Key = FloatVid`
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:573:1
|
573 | / rustc_index::newtype_index! {
574 | | /// A **float**ing-point (`f32` or `f64`) type **v**ariable **ID**.
575 | | #[encodable]
576 | | #[orderable]
577 | | #[debug_format = "?{}f"]
578 | | #[gate_rustc_only]
579 | | pub struct FloatVid {}
| |_______________________- doesn't satisfy `FloatVid: ena::unify::UnifyKey`
|
= note: the following trait bounds were not satisfied:
`FloatVid: ena::unify::UnifyKey`
`FloatVid: ena::unify::UnifyKey`
which is required by `<InPlace<FloatVid, &mut Vec<VarValue<FloatVid>>, &mut InferCtxtUndoLogs<'_>> as UnificationStoreBase>::Key = FloatVid`
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/context.rs:177:33
|
177 | self.inner.borrow_mut().int_unification_table().union(a, b);
| ^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
note: required by a bound in `InPlace`
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/backing_vec.rs:57:8
|
56 | pub struct InPlace<
| ------- required by a bound in this struct
57 | K: UnifyKey,
| ^^^^^^^^ required by this bound in `InPlace`
error[E0599]: the method `union` exists for struct `UnificationTable<InPlace<IntVid, &mut Vec<VarValue<IntVid>>, ...>>`, but its trait bounds were not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/context.rs:177:57
|
177 | self.inner.borrow_mut().int_unification_table().union(a, b);
| ^^^^^ method cannot be called due to unsatisfied trait bounds
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/backing_vec.rs:56:1
|
56 | / pub struct InPlace<
57 | | K: UnifyKey,
58 | | V: sv::VecLike<Delegate<K>> = Vec<VarValue<K>>,
59 | | L = VecLog<sv::UndoLog<Delegate<K>>>,
60 | | > {
| |_- doesn't satisfy `<_ as UnificationStoreBase>::Key = IntVid`
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- doesn't satisfy `IntVid: ena::unify::UnifyKey`
|
= note: the following trait bounds were not satisfied:
`IntVid: ena::unify::UnifyKey`
`IntVid: ena::unify::UnifyKey`
which is required by `<InPlace<IntVid, &mut Vec<VarValue<IntVid>>, &mut InferCtxtUndoLogs<'_>> as UnificationStoreBase>::Key = IntVid`
error[E0277]: the trait bound `FloatVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/context.rs:181:33
|
181 | self.inner.borrow_mut().float_unification_table().union(a, b);
| ^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `FloatVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:573:1
|
573 | / rustc_index::newtype_index! {
574 | | /// A **float**ing-point (`f32` or `f64`) type **v**ariable **ID**.
575 | | #[encodable]
576 | | #[orderable]
577 | | #[debug_format = "?{}f"]
578 | | #[gate_rustc_only]
579 | | pub struct FloatVid {}
| |_______________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
note: required by a bound in `InPlace`
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/backing_vec.rs:57:8
|
56 | pub struct InPlace<
| ------- required by a bound in this struct
57 | K: UnifyKey,
| ^^^^^^^^ required by this bound in `InPlace`
error[E0599]: the method `union` exists for struct `UnificationTable<InPlace<FloatVid, &mut Vec<VarValue<FloatVid>>, ...>>`, but its trait bounds were not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/context.rs:181:59
|
181 | self.inner.borrow_mut().float_unification_table().union(a, b);
| ^^^^^ method cannot be called due to unsatisfied trait bounds
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/backing_vec.rs:56:1
|
56 | / pub struct InPlace<
57 | | K: UnifyKey,
58 | | V: sv::VecLike<Delegate<K>> = Vec<VarValue<K>>,
59 | | L = VecLog<sv::UndoLog<Delegate<K>>>,
60 | | > {
| |_- doesn't satisfy `<_ as UnificationStoreBase>::Key = FloatVid`
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:573:1
|
573 | / rustc_index::newtype_index! {
574 | | /// A **float**ing-point (`f32` or `f64`) type **v**ariable **ID**.
575 | | #[encodable]
576 | | #[orderable]
577 | | #[debug_format = "?{}f"]
578 | | #[gate_rustc_only]
579 | | pub struct FloatVid {}
| |_______________________- doesn't satisfy `FloatVid: ena::unify::UnifyKey`
|
= note: the following trait bounds were not satisfied:
`FloatVid: ena::unify::UnifyKey`
`FloatVid: ena::unify::UnifyKey`
---
|
183 | Ok(PlaceholderReplacer::replace_placeholders(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: expected `IndexMap<Placeholder<...>, ..., ...>`, found a different `IndexMap<Placeholder<...>, ..., ...>`
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/project/solve_normalize.rs:185:17
|
185 | mapped_regions,
| ^^^^^^^^^^^^^^
note: two different versions of crate `indexmap` are being used; two types coming from two different versions of the same crate are different types even if they look the same
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.9.0/src/map.rs:87:1
|
87 | pub struct IndexMap<K, V, S = RandomState> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `IndexMap`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.10.0/src/map.rs:88:1
|
88 | pub struct IndexMap<K, V, S = RandomState> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `indexmap::map::IndexMap`
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer.rs:50:5
|
50 | use indexmap::IndexSet;
| -------- one version of crate `indexmap` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:7:1
|
7 | extern crate rustc_index;
| ------------------------- one version of crate `indexmap` used here, as a dependency of crate `rustc_serialize`
= help: you can use `cargo tree` to explore your dependency tree
note: expected `IndexMap<Placeholder<BoundTy>, ..., ...>`, found a different `IndexMap<Placeholder<BoundTy>, ..., ...>`
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/project/solve_normalize.rs:186:17
|
186 | mapped_types,
| ^^^^^^^^^^^^
note: two different versions of crate `indexmap` are being used; two types coming from two different versions of the same crate are different types even if they look the same
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.9.0/src/map.rs:87:1
|
87 | pub struct IndexMap<K, V, S = RandomState> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `IndexMap`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.10.0/src/map.rs:88:1
|
88 | pub struct IndexMap<K, V, S = RandomState> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `indexmap::map::IndexMap`
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer.rs:50:5
|
50 | use indexmap::IndexSet;
| -------- one version of crate `indexmap` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:7:1
|
7 | extern crate rustc_index;
| ------------------------- one version of crate `indexmap` used here, as a dependency of crate `rustc_serialize`
= help: you can use `cargo tree` to explore your dependency tree
note: expected `IndexMap<Placeholder<...>, ..., ...>`, found a different `IndexMap<Placeholder<...>, ..., ...>`
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/project/solve_normalize.rs:187:17
|
187 | mapped_consts,
| ^^^^^^^^^^^^^
note: two different versions of crate `indexmap` are being used; two types coming from two different versions of the same crate are different types even if they look the same
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.9.0/src/map.rs:87:1
|
87 | pub struct IndexMap<K, V, S = RandomState> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `IndexMap`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.10.0/src/map.rs:88:1
|
88 | pub struct IndexMap<K, V, S = RandomState> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `indexmap::map::IndexMap`
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer.rs:50:5
|
50 | use indexmap::IndexSet;
| -------- one version of crate `indexmap` used here, as a direct dependency of the current crate
---
= help: you can use `cargo tree` to explore your dependency tree
note: associated function defined here
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/util.rs:861:12
|
861 | pub fn replace_placeholders<T: TypeFoldable<DbInterner<'db>>>(
| ^^^^^^^^^^^^^^^^^^^^
862 | infcx: &'a InferCtxt<'db>,
863 | mapped_regions: FxIndexMap<PlaceholderRegion, BoundRegion>,
| ----------------------------------------------------------
864 | mapped_types: FxIndexMap<Placeholder<BoundTy>, BoundTy>,
| -------------------------------------------------------
865 | mapped_consts: FxIndexMap<PlaceholderConst, BoundVar>,
| -----------------------------------------------------
error[E0308]: arguments to this function are incorrect
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/project/solve_normalize.rs:210:16
|
210 | Ok(PlaceholderReplacer::replace_placeholders(
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
note: expected `IndexMap<Placeholder<...>, ..., ...>`, found a different `IndexMap<Placeholder<...>, ..., ...>`
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/project/solve_normalize.rs:212:17
|
212 | mapped_regions,
| ^^^^^^^^^^^^^^
note: two different versions of crate `indexmap` are being used; two types coming from two different versions of the same crate are different types even if they look the same
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.9.0/src/map.rs:87:1
|
87 | pub struct IndexMap<K, V, S = RandomState> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `IndexMap`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.10.0/src/map.rs:88:1
|
88 | pub struct IndexMap<K, V, S = RandomState> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `indexmap::map::IndexMap`
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer.rs:50:5
|
50 | use indexmap::IndexSet;
| -------- one version of crate `indexmap` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:7:1
|
7 | extern crate rustc_index;
| ------------------------- one version of crate `indexmap` used here, as a dependency of crate `rustc_serialize`
= help: you can use `cargo tree` to explore your dependency tree
note: expected `IndexMap<Placeholder<BoundTy>, ..., ...>`, found a different `IndexMap<Placeholder<BoundTy>, ..., ...>`
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/project/solve_normalize.rs:213:17
|
213 | mapped_types,
| ^^^^^^^^^^^^
note: two different versions of crate `indexmap` are being used; two types coming from two different versions of the same crate are different types even if they look the same
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.9.0/src/map.rs:87:1
|
87 | pub struct IndexMap<K, V, S = RandomState> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `IndexMap`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.10.0/src/map.rs:88:1
|
88 | pub struct IndexMap<K, V, S = RandomState> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `indexmap::map::IndexMap`
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer.rs:50:5
|
50 | use indexmap::IndexSet;
| -------- one version of crate `indexmap` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:7:1
|
7 | extern crate rustc_index;
| ------------------------- one version of crate `indexmap` used here, as a dependency of crate `rustc_serialize`
= help: you can use `cargo tree` to explore your dependency tree
note: expected `IndexMap<Placeholder<...>, ..., ...>`, found a different `IndexMap<Placeholder<...>, ..., ...>`
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/project/solve_normalize.rs:214:17
|
214 | mapped_consts,
| ^^^^^^^^^^^^^
note: two different versions of crate `indexmap` are being used; two types coming from two different versions of the same crate are different types even if they look the same
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.9.0/src/map.rs:87:1
|
87 | pub struct IndexMap<K, V, S = RandomState> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the expected type `IndexMap`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/indexmap-2.10.0/src/map.rs:88:1
|
88 | pub struct IndexMap<K, V, S = RandomState> {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the found type `indexmap::map::IndexMap`
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer.rs:50:5
|
50 | use indexmap::IndexSet;
| -------- one version of crate `indexmap` used here, as a direct dependency of the current crate
---
= help: you can use `cargo tree` to explore your dependency tree
note: associated function defined here
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/util.rs:861:12
|
861 | pub fn replace_placeholders<T: TypeFoldable<DbInterner<'db>>>(
| ^^^^^^^^^^^^^^^^^^^^
862 | infcx: &'a InferCtxt<'db>,
863 | mapped_regions: FxIndexMap<PlaceholderRegion, BoundRegion>,
| ----------------------------------------------------------
864 | mapped_types: FxIndexMap<Placeholder<BoundTy>, BoundTy>,
| -------------------------------------------------------
865 | mapped_consts: FxIndexMap<PlaceholderConst, BoundVar>,
| -----------------------------------------------------
[RUSTC-TIMING] serde_spanned test:false 0.067
error[E0063]: missing field `stable_hash` in initializer of `WithCachedTypeInfo<_>`
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/ty.rs:49:22
---
[RUSTC-TIMING] ordered_float test:false 0.226
[RUSTC-TIMING] winnow test:false 1.739
[RUSTC-TIMING] erased_serde test:false 0.510
Checking project-model v0.0.0 (/checkout/src/tools/rust-analyzer/crates/project-model)
error[E0277]: the trait bound `FloatVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/at.rs:72:27
|
72 | pub fn fork(&self) -> Self {
| ^^^^ the trait `ena::unify::UnifyKey` is not implemented for `FloatVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:573:1
|
573 | / rustc_index::newtype_index! {
574 | | /// A **float**ing-point (`f32` or `f64`) type **v**ariable **ID**.
575 | | #[encodable]
576 | | #[orderable]
577 | | #[debug_format = "?{}f"]
578 | | #[gate_rustc_only]
579 | | pub struct FloatVid {}
| |_______________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
error[E0277]: the trait bound `FloatVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/at.rs:76:20
|
76 | inner: self.inner.clone(),
| ^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `FloatVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:573:1
|
573 | / rustc_index::newtype_index! {
574 | | /// A **float**ing-point (`f32` or `f64`) type **v**ariable **ID**.
575 | | #[encodable]
576 | | #[orderable]
577 | | #[debug_format = "?{}f"]
578 | | #[gate_rustc_only]
579 | | pub struct FloatVid {}
| |_______________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
error[E0277]: the trait bound `FloatVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/at.rs:85:86
|
85 | pub fn fork_with_typing_mode(&self, typing_mode: TypingMode<DbInterner<'db>>) -> Self {
| ^^^^ the trait `ena::unify::UnifyKey` is not implemented for `FloatVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:573:1
|
573 | / rustc_index::newtype_index! {
574 | | /// A **float**ing-point (`f32` or `f64`) type **v**ariable **ID**.
575 | | #[encodable]
576 | | #[orderable]
577 | | #[debug_format = "?{}f"]
578 | | #[gate_rustc_only]
579 | | pub struct FloatVid {}
| |_______________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
error[E0277]: the trait bound `FloatVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/at.rs:92:20
|
92 | inner: self.inner.clone(),
| ^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `FloatVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:573:1
|
573 | / rustc_index::newtype_index! {
574 | | /// A **float**ing-point (`f32` or `f64`) type **v**ariable **ID**.
575 | | #[encodable]
576 | | #[orderable]
577 | | #[debug_format = "?{}f"]
578 | | #[gate_rustc_only]
579 | | pub struct FloatVid {}
| |_______________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/opaque_types/table.rs:154:32
|
154 | self.undo_log.push(UndoLog::OpaqueTypes(key, Some(prev)));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
= note: required for `ena::unify::Delegate<IntVid>` to implement `SnapshotVecDelegate`
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/opaque_types/table.rs:158:28
|
158 | self.undo_log.push(UndoLog::OpaqueTypes(key, None));
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
= note: required for `ena::unify::Delegate<IntVid>` to implement `SnapshotVecDelegate`
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/opaque_types/table.rs:164:28
|
164 | self.undo_log.push(UndoLog::DuplicateOpaqueType);
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
= note: required for `ena::unify::Delegate<IntVid>` to implement `SnapshotVecDelegate`
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/snapshot/undo_log.rs:41:32
|
37 | / macro_rules! impl_from {
38 | | ($($ctor:ident ($ty:ty),)*) => {
39 | | $(
40 | | impl<'db> From<$ty> for UndoLog<'db> {
41 | | fn from(x: $ty) -> Self {
| | ^^^^ the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
... |
47 | | }
| |_- in this expansion of `impl_from!`
...
50 | / impl_from! {
51 | | RegionConstraintCollector(region_constraints::UndoLog<'db>),
52 | |
53 | | TypeVariables(sv::UndoLog<ut::Delegate<type_variable::TyVidEqKey<'db>>>),
... |
59 | | RegionUnificationTable(sv::UndoLog<ut::Delegate<RegionVidKey<'db>>>),
60 | | }
| |_- in this macro invocation
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
= note: required for `ena::unify::Delegate<IntVid>` to implement `SnapshotVecDelegate`
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/snapshot/undo_log.rs:87:10
|
87 | #[derive(Clone, Default)]
| ^^^^^
| |
| the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
| in this derive macro expansion
--> /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/clone.rs:225:1
|
= note: in this expansion of `#[derive(Clone)]`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
= note: required for `ena::unify::Delegate<IntVid>` to implement `SnapshotVecDelegate`
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/snapshot/undo_log.rs:89:5
|
87 | #[derive(Clone, Default)]
| ----- in this derive macro expansion
88 | pub(crate) struct InferCtxtUndoLogs<'db> {
89 | logs: Vec<UndoLog<'db>>,
| ^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
--> /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/clone.rs:225:1
|
= note: in this expansion of `#[derive(Clone)]`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
= note: required for `ena::unify::Delegate<IntVid>` to implement `SnapshotVecDelegate`
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/snapshot/undo_log.rs:87:17
|
87 | #[derive(Clone, Default)]
| ^^^^^^^
| |
| the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
| in this derive macro expansion
--> /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/default.rs:147:1
|
= note: in this expansion of `#[derive(Default)]`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
| ----------------------- one version of crate `ena` used here, as a dependency of crate `rustc_data_structures`
|
::: /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/snapshot_vec.rs:67:1
|
67 | pub trait VecLike<D>: AsRef<[D::Value]> + AsMut<[D::Value]> + Rollback<UndoLog<D>>
| ---------------------------------------------------------------------------------- this is the found trait
|
::: /checkout/compiler/rustc_type_ir/src/ty_kind.rs:564:1
|
564 | / rustc_index::newtype_index! {
565 | | /// An **int**egral (`u32`, `i32`, `usize`, etc.) type **v**ariable **ID**.
566 | | #[encodable]
567 | | #[orderable]
568 | | #[debug_format = "?{}i"]
569 | | #[gate_rustc_only]
570 | | pub struct IntVid {}
| |_____________________- this type doesn't implement the required trait
= help: you can use `cargo tree` to explore your dependency tree
= note: required for `ena::unify::Delegate<IntVid>` to implement `SnapshotVecDelegate`
error[E0277]: the trait bound `IntVid: ena::unify::UnifyKey` is not satisfied
--> src/tools/rust-analyzer/crates/hir-ty/src/next_solver/infer/snapshot/undo_log.rs:89:5
|
87 | #[derive(Clone, Default)]
| ------- in this derive macro expansion
88 | pub(crate) struct InferCtxtUndoLogs<'db> {
89 | logs: Vec<UndoLog<'db>>,
| ^^^^^^^^^^^^^^^^^^^^^^^ the trait `ena::unify::UnifyKey` is not implemented for `IntVid`
--> /rustc/788da80fcfcef3f34c90def5baa32813e39a1a41/library/core/src/default.rs:147:1
|
= note: in this expansion of `#[derive(Default)]`
|
note: there are multiple different versions of crate `ena` in the dependency graph
--> /cargo/registry/src/index.crates.io-1949cf8c6b5b557f/ena-0.14.3/src/unify/mod.rs:63:1
|
63 | pub trait UnifyKey: Copy + Clone + Debug + PartialEq {
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this is the required trait
|
::: src/tools/rust-analyzer/crates/hir-ty/src/infer/unify.rs:11:5
|
11 | use ena::unify::UnifyKey;
| --- one version of crate `ena` used here, as a direct dependency of the current crate
|
::: src/tools/rust-analyzer/crates/hir-ty/src/lib.rs:13:1
|
13 | extern crate rustc_abi;
There are some changes on the solver crates from what r-a currently uses, I think it'll be easier to update r-a first to use the newest solver crates (are they published?) I can take care of that, if they are published.
Subtree update of
rust-analyzer
to rust-lang/rust-analyzer@21614ed.Created using https://github.com/rust-lang/josh-sync.
r? @ghost