summaryrefslogtreecommitdiff
path: root/user/rust/0040-rls-atomics.patch
diff options
context:
space:
mode:
authorSamuel Holland <samuel@sholland.org>2018-10-06 04:22:05 +0000
committerSamuel Holland <samuel@sholland.org>2018-10-09 04:28:15 +0000
commit2323b0da26e293bb4d5a7a4ad8afed85a599d11d (patch)
treed67f5276d8d72c2fe2caa2e4e5756c14848d9f91 /user/rust/0040-rls-atomics.patch
parent49cec2be42835f6b4c5ff1bad4710e20db422b87 (diff)
downloadpackages-2323b0da26e293bb4d5a7a4ad8afed85a599d11d.tar.gz
packages-2323b0da26e293bb4d5a7a4ad8afed85a599d11d.tar.bz2
packages-2323b0da26e293bb4d5a7a4ad8afed85a599d11d.tar.xz
packages-2323b0da26e293bb4d5a7a4ad8afed85a599d11d.zip
user/rust: Bump to 1.29.1 plus fixes for i586, ppc32
Diffstat (limited to 'user/rust/0040-rls-atomics.patch')
-rw-r--r--user/rust/0040-rls-atomics.patch63
1 files changed, 63 insertions, 0 deletions
diff --git a/user/rust/0040-rls-atomics.patch b/user/rust/0040-rls-atomics.patch
new file mode 100644
index 000000000..61811ef4d
--- /dev/null
+++ b/user/rust/0040-rls-atomics.patch
@@ -0,0 +1,63 @@
+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())
+ }
+ }
+