summaryrefslogtreecommitdiff
path: root/bootstrap/rust-1.61/0040-rls-atomics.patch
diff options
context:
space:
mode:
authorA. Wilcox <AWilcox@Wilcox-Tech.com>2024-07-24 21:26:28 -0500
committerA. Wilcox <AWilcox@Wilcox-Tech.com>2024-08-09 15:21:37 -0500
commit80d397f1129590d6ae4fe89b83ea80bfe8ec9815 (patch)
tree99f6237ff4b6c4a5049dab61d625765a975338f6 /bootstrap/rust-1.61/0040-rls-atomics.patch
parentbbf2026492d2ae00cb8d463b8d423b1660d7d01b (diff)
downloadpackages-80d397f1129590d6ae4fe89b83ea80bfe8ec9815.tar.gz
packages-80d397f1129590d6ae4fe89b83ea80bfe8ec9815.tar.bz2
packages-80d397f1129590d6ae4fe89b83ea80bfe8ec9815.tar.xz
packages-80d397f1129590d6ae4fe89b83ea80bfe8ec9815.zip
bootstrap/rust-1.61: New package
Diffstat (limited to 'bootstrap/rust-1.61/0040-rls-atomics.patch')
-rw-r--r--bootstrap/rust-1.61/0040-rls-atomics.patch58
1 files changed, 58 insertions, 0 deletions
diff --git a/bootstrap/rust-1.61/0040-rls-atomics.patch b/bootstrap/rust-1.61/0040-rls-atomics.patch
new file mode 100644
index 000000000..e084217ba
--- /dev/null
+++ b/bootstrap/rust-1.61/0040-rls-atomics.patch
@@ -0,0 +1,58 @@
+--- rustc-1.58.1-src/src/tools/rls/rls/src/cmd.rs
++++ rustc-1.58.1-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,
+@@ -316,8 +316,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.58.1-src/src/tools/rls/rls/src/server/io.rs
++++ rustc-1.58.1-src/src/tools/rls/rls/src/server/io.rs
+@@ -5,7 +5,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};
+@@ -169,13 +169,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()) }
+ }
+ }
+
+@@ -192,7 +192,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())
+ }
+ }
+