diff --git a/src/tools/rls/src/cmd.rs b/src/tools/rls/src/cmd.rs
index 545a129..8285f99 100644
--- a/src/tools/rls/src/cmd.rs
+++ b/src/tools/rls/src/cmd.rs
@@ -16,7 +16,7 @@ use crate::actions::requests;
use rls_analysis::{AnalysisHost, Target};
use crate::config::Config;
use crate::server::{self, LsService, Notification, Request, RequestId};
-use std::sync::atomic::{AtomicU64, Ordering};
+use std::sync::atomic::{AtomicU32, Ordering};
use rls_vfs::Vfs;
use languageserver_types::{
@@ -415,8 +415,8 @@ fn url(file_name: &str) -> Url {
}
fn next_id() -> RequestId {
- static ID: AtomicU64 = AtomicU64::new(1);
- RequestId::Num(ID.fetch_add(1, Ordering::SeqCst))
+ static ID: AtomicU32 = AtomicU32::new(1);
+ RequestId::Num(ID.fetch_add(1, Ordering::SeqCst).into())
}
// Custom reader and output for the RLS server.
diff --git a/src/tools/rls/src/server/io.rs b/src/tools/rls/src/server/io.rs
index 5d5060e..55ab545 100644
--- a/src/tools/rls/src/server/io.rs
+++ b/src/tools/rls/src/server/io.rs
@@ -17,7 +17,7 @@ use crate::lsp_data::{LSPNotification, LSPRequest};
use std::fmt;
use std::io::{self, BufRead, Write};
-use std::sync::atomic::{AtomicU64, Ordering};
+use std::sync::atomic::{AtomicU32, Ordering};
use std::sync::Arc;
use jsonrpc_core::{self as jsonrpc, response, version, Id};
@@ -190,14 +190,14 @@ pub trait Output: Sync + Send + Clone + 'static {
/// An output that sends notifications and responses on `stdout`.
#[derive(Clone)]
pub(super) struct StdioOutput {
- next_id: Arc<AtomicU64>,
+ next_id: Arc<AtomicU32>,
}
impl StdioOutput {
/// Construct a new `stdout` output.
crate fn new() -> StdioOutput {
StdioOutput {
- next_id: Arc::new(AtomicU64::new(1)),
+ next_id: Arc::new(AtomicU32::new(1).into()),
}
}
}
@@ -215,7 +215,7 @@ impl Output for StdioOutput {
}
fn provide_id(&self) -> RequestId {
- RequestId::Num(self.next_id.fetch_add(1, Ordering::SeqCst))
+ RequestId::Num(self.next_id.fetch_add(1, Ordering::SeqCst).into())
}
}