9905: internal: optimize compile time r=matklad a=matklad

bors r+
🤖

Co-authored-by: Aleksey Kladov <aleksey.kladov@gmail.com>
This commit is contained in:
bors[bot] 2021-08-15 10:26:59 +00:00 committed by GitHub
commit b641a66078
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 3 additions and 13 deletions

10
Cargo.lock generated
View file

@ -1315,7 +1315,6 @@ dependencies = [
"rustc-hash", "rustc-hash",
"serde", "serde",
"serde_json", "serde_json",
"serde_path_to_error",
"sourcegen", "sourcegen",
"stdx", "stdx",
"syntax", "syntax",
@ -1453,15 +1452,6 @@ dependencies = [
"serde", "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]] [[package]]
name = "serde_repr" name = "serde_repr"
version = "0.1.7" version = "0.1.7"

View file

@ -31,7 +31,6 @@ oorandom = "11.1.2"
rustc-hash = "1.1.0" rustc-hash = "1.1.0"
serde = { version = "1.0.106", features = ["derive"] } serde = { version = "1.0.106", features = ["derive"] }
serde_json = { version = "1.0.48", features = ["preserve_order"] } serde_json = { version = "1.0.48", features = ["preserve_order"] }
serde_path_to_error = "0.1"
threadpool = "1.7.1" threadpool = "1.7.1"
rayon = "1.5" rayon = "1.5"
mimalloc = { version = "0.1.19", default-features = false, optional = true } mimalloc = { version = "0.1.19", default-features = false, optional = true }

View file

@ -41,16 +41,17 @@ pub mod config;
#[cfg(test)] #[cfg(test)]
mod integrated_benchmarks; mod integrated_benchmarks;
use serde::de::DeserializeOwned;
use std::fmt; use std::fmt;
use serde::de::DeserializeOwned;
pub use crate::{caps::server_capabilities, main_loop::main_loop}; pub use crate::{caps::server_capabilities, main_loop::main_loop};
pub type Error = Box<dyn std::error::Error + Send + Sync>; pub type Error = Box<dyn std::error::Error + Send + Sync>;
pub type Result<T, E = Error> = std::result::Result<T, E>; 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> { pub fn from_json<T: DeserializeOwned>(what: &'static str, json: serde_json::Value) -> Result<T> {
let res = serde_path_to_error::deserialize(&json) let res = serde_json::from_value(json.clone())
.map_err(|e| format!("Failed to deserialize {}: {}; {}", what, e, json))?; .map_err(|e| format!("Failed to deserialize {}: {}; {}", what, e, json))?;
Ok(res) Ok(res)
} }