aboutsummaryrefslogtreecommitdiff
path: root/crates
diff options
context:
space:
mode:
authorCasey Primozic <[email protected]>2020-10-06 23:05:20 +0100
committerCasey Primozic <[email protected]>2020-10-06 23:05:20 +0100
commit56a8a7645f9d6c872e9598b5a2617805f387e2a6 (patch)
treebe94bbbf4293f37d35d66092cbf9a6d9ebef2bd4 /crates
parentbf1043cac2f3cc2264d9fcda242f63616f4efa1b (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.toml6
-rw-r--r--crates/hir_ty/src/traits/chalk.rs12
-rw-r--r--crates/hir_ty/src/traits/chalk/mapping.rs1
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"
17log = "0.4.8" 17log = "0.4.8"
18rustc-hash = "1.1.0" 18rustc-hash = "1.1.0"
19scoped-tls = "1" 19scoped-tls = "1"
20chalk-solve = { version = "0.30.0" } 20chalk-solve = { git = "https://github.com/rust-lang/chalk.git", rev="ebe62c2bc46899a0a92eabb456b38ad2d40abbd0" }
21chalk-ir = { version = "0.30.0" } 21chalk-ir = { git = "https://github.com/rust-lang/chalk.git", rev="ebe62c2bc46899a0a92eabb456b38ad2d40abbd0" }
22chalk-recursive = { version = "0.30.0" } 22chalk-recursive = { git = "https://github.com/rust-lang/chalk.git", rev="ebe62c2bc46899a0a92eabb456b38ad2d40abbd0" }
23 23
24stdx = { path = "../stdx", version = "0.0.0" } 24stdx = { path = "../stdx", version = "0.0.0" }
25hir_def = { path = "../hir_def", version = "0.0.0" } 25hir_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
335pub(crate) fn program_clauses_for_chalk_env_query( 347pub(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}