--- rustc-1.35.0-src/src/tools/rls/rls/src/cmd.rs +++ rustc-1.35.0-src/src/tools/rls/rls/src/cmd.rs @@ -7,7 +7,7 @@ use crate::config::Config; use crate::server::{self, LsService, Notification, Request, RequestId}; use rls_analysis::{AnalysisHost, Target}; use rls_vfs::Vfs; -use std::sync::atomic::{AtomicU64, Ordering}; +use std::sync::atomic::{AtomicU32, Ordering}; use lsp_types::{ ClientCapabilities, CodeActionContext, CodeActionParams, CompletionItem, @@ -313,8 +313,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. --- rustc-1.35.0-src/src/tools/rls/rls/src/server/io.rs +++ rustc-1.35.0-src/src/tools/rls/rls/src/server/io.rs @@ -7,7 +7,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}; @@ -171,13 +171,13 @@ 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 { /// Constructs a new `stdout` output. pub(crate) fn new() -> StdioOutput { - StdioOutput { next_id: Arc::new(AtomicU64::new(1)) } + StdioOutput { next_id: Arc::new(AtomicU32::new(1).into()) } } } @@ -194,7 +194,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()) } }