Repository: polarmutex/beancount-language-server (language: rust)

Issue:
Installation failed on Arch Linux system
Unable to install `beancount-language-server` on an Arch Linux system. 

```sh
$ cargo --version                                                   
cargo 1.81.0 (2dbb1af80 2024-08-20)

$ rustc --version      
rustc 1.81.0 (eeb90cda1 2024-09-04)
```

Installation backtrace 

```sh 
cargo install beancount-language-server --verbose
```   
Backtrace attached. Unable to insert here. 
[debug_bll.txt](https://github.com/user-attachments/files/16982926/debug_bll.txt)



Discussion / hints:

Fix patch:
diff --git a/Cargo.lock b/Cargo.lock
index c8bd9533..db4f8929 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -438,9 +438,9 @@ checksum = "90ed8c1e510134f979dbc4f070f87d4313098b704861a105fe34231c70a3901c"
 
 [[package]]
 name = "lsp-server"
-version = "0.7.6"
+version = "0.7.7"
 source = "registry+https://github.com/rust-lang/crates.io-index"
-checksum = "248f65b78f6db5d8e1b1604b4098a28b43d21a8eb1deeca22b1c421b276c7095"
+checksum = "550446e84739dcaf6d48a4a093973850669e13e8a34d8f8d64851041be267cd9"
 dependencies = [
  "crossbeam-channel",
  "log",
diff --git a/crates/lsp/Cargo.toml b/crates/lsp/Cargo.toml
index 8dfe00ca..303c7d16 100644
--- a/crates/lsp/Cargo.toml
+++ b/crates/lsp/Cargo.toml
@@ -19,7 +19,7 @@ clap = "4"
 crossbeam-channel = "0.5.13"
 dashmap = "6.0"
 glob = "0.3"
-lsp-server = "0.7"
+lsp-server = "0.7.7"
 lsp-types = "0.95.0"
 regex = "1"
 ropey = "1.6"
diff --git a/crates/lsp/src/server.rs b/crates/lsp/src/server.rs
index f57d476e..6ffb3a7a 100644
--- a/crates/lsp/src/server.rs
+++ b/crates/lsp/src/server.rs
@@ -285,7 +285,7 @@ impl LspServerState {
 
     // Sends a response to the client. This method logs the time it took us to reply to a request from the client.
     pub(crate) fn respond(&mut self, response: lsp_server::Response) {
-        if let Some((_method, start)) = self.req_queue.incoming.complete(response.id.clone()) {
+        if let Some((_method, start)) = self.req_queue.incoming.complete(&response.id) {
             let duration = start.elapsed();
             tracing::info!("handled req#{} in {:?}", response.id, duration);
             self.send(response.into());


Test patch: