]> git.lizzy.rs Git - rust.git/commitdiff
Try serde_path_to_error for LSP InitializeParams
authorLaurențiu Nicola <lnicola@dend.ro>
Wed, 23 Dec 2020 11:21:58 +0000 (13:21 +0200)
committerLaurențiu Nicola <lnicola@dend.ro>
Wed, 23 Dec 2020 11:21:58 +0000 (13:21 +0200)
Cargo.lock
crates/rust-analyzer/Cargo.toml
crates/rust-analyzer/src/lib.rs

index fbb79e01fc2f7d032d867736f290dc4e4e5e12ae..7598956951735de5f8b718bf5db27b662c2ea71b 100644 (file)
@@ -1358,6 +1358,7 @@ dependencies = [
  "rustc-hash",
  "serde",
  "serde_json",
+ "serde_path_to_error",
  "ssr",
  "stdx",
  "syntax",
@@ -1526,6 +1527,15 @@ dependencies = [
  "serde",
 ]
 
+[[package]]
+name = "serde_path_to_error"
+version = "0.1.4"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "42f6109f0506e20f7e0f910e51a0079acf41da8e0694e6442527c4ddf5a2b158"
+dependencies = [
+ "serde",
+]
+
 [[package]]
 name = "serde_repr"
 version = "0.1.6"
index 0b4d3f4ebbe70f60834d1f8d8fb55f698beb82ab..53e70eaf7b508de7d910690ac1277c38b5aa48a0 100644 (file)
@@ -28,6 +28,7 @@ oorandom = "11.1.2"
 rustc-hash = "1.1.0"
 serde = { version = "1.0.106", features = ["derive"] }
 serde_json = { version = "1.0.48", features = ["preserve_order"] }
+serde_path_to_error = "0.1"
 threadpool = "1.7.1"
 rayon = "1.5"
 mimalloc = { version = "0.1.19", default-features = false, optional = true }
index 79fe30e5301ee4e80991e8546163e25025d95e0c..d538ad69a1243fcd7151ccab6aaca503f47fd096 100644 (file)
@@ -46,7 +46,7 @@ macro_rules! eprintln {
 pub type Result<T, E = Error> = std::result::Result<T, E>;
 
 pub fn from_json<T: DeserializeOwned>(what: &'static str, json: serde_json::Value) -> Result<T> {
-    let res = T::deserialize(&json)
+    let res = serde_path_to_error::deserialize(&json)
         .map_err(|e| format!("Failed to deserialize {}: {}; {}", what, e, json))?;
     Ok(res)
 }