diff options
author | Casey Primozic <[email protected]> | 2020-10-06 23:05:20 +0100 |
---|---|---|
committer | Casey Primozic <[email protected]> | 2020-10-06 23:05:20 +0100 |
commit | 56a8a7645f9d6c872e9598b5a2617805f387e2a6 (patch) | |
tree | be94bbbf4293f37d35d66092cbf9a6d9ebef2bd4 /crates | |
parent | bf1043cac2f3cc2264d9fcda242f63616f4efa1b (diff) |
Bump chalk to use latest git to get fix
* Chalk very recently (like an hour ago) merged a fix that prevents rust analyzer from panicking. This allows it to be usable again for code that hits those situations. See #6134, #6145, Probably #6120
Diffstat (limited to 'crates')
-rw-r--r-- | crates/hir_ty/Cargo.toml | 6 | ||||
-rw-r--r-- | crates/hir_ty/src/traits/chalk.rs | 12 | ||||
-rw-r--r-- | crates/hir_ty/src/traits/chalk/mapping.rs | 1 |
3 files changed, 16 insertions, 3 deletions
diff --git a/crates/hir_ty/Cargo.toml b/crates/hir_ty/Cargo.toml index ed1c911c2..15c536c89 100644 --- a/crates/hir_ty/Cargo.toml +++ b/crates/hir_ty/Cargo.toml | |||
@@ -17,9 +17,9 @@ ena = "0.14.0" | |||
17 | log = "0.4.8" | 17 | log = "0.4.8" |
18 | rustc-hash = "1.1.0" | 18 | rustc-hash = "1.1.0" |
19 | scoped-tls = "1" | 19 | scoped-tls = "1" |
20 | chalk-solve = { version = "0.30.0" } | 20 | chalk-solve = { git = "https://github.com/rust-lang/chalk.git", rev="ebe62c2bc46899a0a92eabb456b38ad2d40abbd0" } |
21 | chalk-ir = { version = "0.30.0" } | 21 | chalk-ir = { git = "https://github.com/rust-lang/chalk.git", rev="ebe62c2bc46899a0a92eabb456b38ad2d40abbd0" } |
22 | chalk-recursive = { version = "0.30.0" } | 22 | chalk-recursive = { git = "https://github.com/rust-lang/chalk.git", rev="ebe62c2bc46899a0a92eabb456b38ad2d40abbd0" } |
23 | 23 | ||
24 | stdx = { path = "../stdx", version = "0.0.0" } | 24 | stdx = { path = "../stdx", version = "0.0.0" } |
25 | hir_def = { path = "../hir_def", version = "0.0.0" } | 25 | hir_def = { path = "../hir_def", version = "0.0.0" } |
diff --git a/crates/hir_ty/src/traits/chalk.rs b/crates/hir_ty/src/traits/chalk.rs index 009b17a7f..980218162 100644 --- a/crates/hir_ty/src/traits/chalk.rs +++ b/crates/hir_ty/src/traits/chalk.rs | |||
@@ -330,6 +330,18 @@ impl<'a> chalk_solve::RustIrDatabase<Interner> for ChalkContext<'a> { | |||
330 | fn fn_def_name(&self, fn_def_id: chalk_ir::FnDefId<Interner>) -> String { | 330 | fn fn_def_name(&self, fn_def_id: chalk_ir::FnDefId<Interner>) -> String { |
331 | format!("fn_{}", fn_def_id.0) | 331 | format!("fn_{}", fn_def_id.0) |
332 | } | 332 | } |
333 | fn generator_datum( | ||
334 | &self, | ||
335 | _: chalk_ir::GeneratorId<Interner>, | ||
336 | ) -> std::sync::Arc<chalk_solve::rust_ir::GeneratorDatum<Interner>> { | ||
337 | todo!() | ||
338 | } | ||
339 | fn generator_witness_datum( | ||
340 | &self, | ||
341 | _: chalk_ir::GeneratorId<Interner>, | ||
342 | ) -> std::sync::Arc<chalk_solve::rust_ir::GeneratorWitnessDatum<Interner>> { | ||
343 | todo!() | ||
344 | } | ||
333 | } | 345 | } |
334 | 346 | ||
335 | pub(crate) fn program_clauses_for_chalk_env_query( | 347 | pub(crate) fn program_clauses_for_chalk_env_query( |
diff --git a/crates/hir_ty/src/traits/chalk/mapping.rs b/crates/hir_ty/src/traits/chalk/mapping.rs index d42f4bba9..140b20213 100644 --- a/crates/hir_ty/src/traits/chalk/mapping.rs +++ b/crates/hir_ty/src/traits/chalk/mapping.rs | |||
@@ -399,6 +399,7 @@ impl ToChalk for TypeCtor { | |||
399 | // this should not be reached, since we don't represent TypeName::Error with TypeCtor | 399 | // this should not be reached, since we don't represent TypeName::Error with TypeCtor |
400 | unreachable!() | 400 | unreachable!() |
401 | } | 401 | } |
402 | _ => todo!(), | ||
402 | } | 403 | } |
403 | } | 404 | } |
404 | } | 405 | } |