aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--.github/workflows/ci.yaml10
-rw-r--r--Cargo.lock8
-rw-r--r--crates/ide/src/references/rename.rs6
-rw-r--r--crates/parser/src/grammar/params.rs11
-rw-r--r--crates/proc_macro_srv/Cargo.toml2
-rw-r--r--crates/proc_macro_srv/src/dylib.rs4
-rw-r--r--crates/rust-analyzer/src/lsp_ext.rs2
-rw-r--r--crates/rust-analyzer/src/main_loop.rs2
-rw-r--r--crates/rust-analyzer/src/to_proto.rs3
-rw-r--r--docs/dev/lsp-extensions.md2
10 files changed, 30 insertions, 20 deletions
diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml
index 1850068a3..ec9ef59a8 100644
--- a/.github/workflows/ci.yaml
+++ b/.github/workflows/ci.yaml
@@ -53,11 +53,19 @@ jobs:
53 - name: Install Rust toolchain 53 - name: Install Rust toolchain
54 uses: actions-rs/toolchain@v1 54 uses: actions-rs/toolchain@v1
55 with: 55 with:
56 toolchain: stable 56 toolchain: 1.49.0 # FIXME: CI is failing on 1.50
57 profile: minimal 57 profile: minimal
58 override: true 58 override: true
59 components: rustfmt, rust-src 59 components: rustfmt, rust-src
60 60
61 - name: Install rustfmt
62 uses: actions-rs/toolchain@v1
63 with:
64 toolchain: stable
65 profile: minimal
66 override: false
67 components: rustfmt
68
61 - name: Cache cargo directories 69 - name: Cache cargo directories
62 uses: actions/cache@v2 70 uses: actions/cache@v2
63 with: 71 with:
diff --git a/Cargo.lock b/Cargo.lock
index 25f312faf..99b7ccf69 100644
--- a/Cargo.lock
+++ b/Cargo.lock
@@ -791,9 +791,9 @@ checksum = "b7282d924be3275cec7f6756ff4121987bc6481325397dde6ba3e7802b1a8b1c"
791 791
792[[package]] 792[[package]]
793name = "libloading" 793name = "libloading"
794version = "0.6.7" 794version = "0.7.0"
795source = "registry+https://github.com/rust-lang/crates.io-index" 795source = "registry+https://github.com/rust-lang/crates.io-index"
796checksum = "351a32417a12d5f7e82c368a66781e307834dae04c6ce0cd4456d52989229883" 796checksum = "6f84d96438c15fcd6c3f244c8fce01d1e2b9c6b5623e9c711dc9286d8fc92d6a"
797dependencies = [ 797dependencies = [
798 "cfg-if", 798 "cfg-if",
799 "winapi", 799 "winapi",
@@ -1841,9 +1841,9 @@ dependencies = [
1841 1841
1842[[package]] 1842[[package]]
1843name = "unicode-normalization" 1843name = "unicode-normalization"
1844version = "0.1.16" 1844version = "0.1.17"
1845source = "registry+https://github.com/rust-lang/crates.io-index" 1845source = "registry+https://github.com/rust-lang/crates.io-index"
1846checksum = "a13e63ab62dbe32aeee58d1c5408d35c36c392bba5d9d3142287219721afe606" 1846checksum = "07fbfce1c8a97d547e8b5334978438d9d6ec8c20e38f56d4a4374d181493eaef"
1847dependencies = [ 1847dependencies = [
1848 "tinyvec", 1848 "tinyvec",
1849] 1849]
diff --git a/crates/ide/src/references/rename.rs b/crates/ide/src/references/rename.rs
index 99a558532..ebb1ce7dd 100644
--- a/crates/ide/src/references/rename.rs
+++ b/crates/ide/src/references/rename.rs
@@ -415,9 +415,9 @@ fn rename_reference(
415) -> RenameResult<SourceChange> { 415) -> RenameResult<SourceChange> {
416 let ident_kind = check_identifier(new_name)?; 416 let ident_kind = check_identifier(new_name)?;
417 417
418 let def_is_lbl_or_lt = matches!(def, 418 let def_is_lbl_or_lt = matches!(
419 Definition::GenericParam(hir::GenericParam::LifetimeParam(_)) 419 def,
420 | Definition::Label(_) 420 Definition::GenericParam(hir::GenericParam::LifetimeParam(_)) | Definition::Label(_)
421 ); 421 );
422 match (ident_kind, def) { 422 match (ident_kind, def) {
423 (IdentifierKind::ToSelf, _) 423 (IdentifierKind::ToSelf, _)
diff --git a/crates/parser/src/grammar/params.rs b/crates/parser/src/grammar/params.rs
index 6a98d7368..e313f6fb7 100644
--- a/crates/parser/src/grammar/params.rs
+++ b/crates/parser/src/grammar/params.rs
@@ -169,11 +169,12 @@ fn opt_self_param(p: &mut Parser, m: Marker) {
169 let la1 = p.nth(1); 169 let la1 = p.nth(1);
170 let la2 = p.nth(2); 170 let la2 = p.nth(2);
171 let la3 = p.nth(3); 171 let la3 = p.nth(3);
172 if !matches!((p.current(), la1, la2, la3), 172 if !matches!(
173 (T![&], T![self], _, _) 173 (p.current(), la1, la2, la3),
174 | (T![&], T![mut], T![self], _) 174 (T![&], T![self], _, _)
175 | (T![&], LIFETIME_IDENT, T![self], _) 175 | (T![&], T![mut], T![self], _)
176 | (T![&], LIFETIME_IDENT, T![mut], T![self]) 176 | (T![&], LIFETIME_IDENT, T![self], _)
177 | (T![&], LIFETIME_IDENT, T![mut], T![self])
177 ) { 178 ) {
178 return m.abandon(p); 179 return m.abandon(p);
179 } 180 }
diff --git a/crates/proc_macro_srv/Cargo.toml b/crates/proc_macro_srv/Cargo.toml
index 208489e0d..6c8c28980 100644
--- a/crates/proc_macro_srv/Cargo.toml
+++ b/crates/proc_macro_srv/Cargo.toml
@@ -11,7 +11,7 @@ doctest = false
11 11
12[dependencies] 12[dependencies]
13object = { version = "0.23", default-features = false, features = ["std", "read_core", "elf", "macho", "pe"] } 13object = { version = "0.23", default-features = false, features = ["std", "read_core", "elf", "macho", "pe"] }
14libloading = "0.6.0" 14libloading = "0.7.0"
15memmap2 = "0.2.0" 15memmap2 = "0.2.0"
16 16
17tt = { path = "../tt", version = "0.0.0" } 17tt = { path = "../tt", version = "0.0.0" }
diff --git a/crates/proc_macro_srv/src/dylib.rs b/crates/proc_macro_srv/src/dylib.rs
index 00fcc7bdf..28a6ee547 100644
--- a/crates/proc_macro_srv/src/dylib.rs
+++ b/crates/proc_macro_srv/src/dylib.rs
@@ -60,7 +60,7 @@ fn find_registrar_symbol(file: &Path) -> io::Result<Option<String>> {
60/// It seems that on Windows that behaviour is default, so we do nothing in that case. 60/// It seems that on Windows that behaviour is default, so we do nothing in that case.
61#[cfg(windows)] 61#[cfg(windows)]
62fn load_library(file: &Path) -> Result<Library, libloading::Error> { 62fn load_library(file: &Path) -> Result<Library, libloading::Error> {
63 Library::new(file) 63 unsafe { Library::new(file) }
64} 64}
65 65
66#[cfg(unix)] 66#[cfg(unix)]
@@ -71,7 +71,7 @@ fn load_library(file: &Path) -> Result<Library, libloading::Error> {
71 const RTLD_NOW: c_int = 0x00002; 71 const RTLD_NOW: c_int = 0x00002;
72 const RTLD_DEEPBIND: c_int = 0x00008; 72 const RTLD_DEEPBIND: c_int = 0x00008;
73 73
74 UnixLibrary::open(Some(file), RTLD_NOW | RTLD_DEEPBIND).map(|lib| lib.into()) 74 unsafe { UnixLibrary::open(Some(file), RTLD_NOW | RTLD_DEEPBIND).map(|lib| lib.into()) }
75} 75}
76 76
77struct ProcMacroLibraryLibloading { 77struct ProcMacroLibraryLibloading {
diff --git a/crates/rust-analyzer/src/lsp_ext.rs b/crates/rust-analyzer/src/lsp_ext.rs
index 670ca9a45..ce5a0e822 100644
--- a/crates/rust-analyzer/src/lsp_ext.rs
+++ b/crates/rust-analyzer/src/lsp_ext.rs
@@ -230,8 +230,8 @@ pub struct SsrParams {
230 230
231pub enum StatusNotification {} 231pub enum StatusNotification {}
232 232
233#[serde(rename_all = "camelCase")]
234#[derive(Serialize, Deserialize)] 233#[derive(Serialize, Deserialize)]
234#[serde(rename_all = "camelCase")]
235pub enum Status { 235pub enum Status {
236 Loading, 236 Loading,
237 ReadyPartial, 237 ReadyPartial,
diff --git a/crates/rust-analyzer/src/main_loop.rs b/crates/rust-analyzer/src/main_loop.rs
index f4fd1ac13..bdffff5ae 100644
--- a/crates/rust-analyzer/src/main_loop.rs
+++ b/crates/rust-analyzer/src/main_loop.rs
@@ -398,7 +398,7 @@ impl GlobalState {
398 } 398 }
399 399
400 let state_changed = self.process_changes(); 400 let state_changed = self.process_changes();
401 let is_ready = matches!(self.status, Status::Ready { .. } ); 401 let is_ready = matches!(self.status, Status::Ready { .. });
402 if prev_status == Status::Loading && is_ready { 402 if prev_status == Status::Loading && is_ready {
403 for flycheck in &self.flycheck { 403 for flycheck in &self.flycheck {
404 flycheck.update(); 404 flycheck.update();
diff --git a/crates/rust-analyzer/src/to_proto.rs b/crates/rust-analyzer/src/to_proto.rs
index 5236932e8..be10ac1ae 100644
--- a/crates/rust-analyzer/src/to_proto.rs
+++ b/crates/rust-analyzer/src/to_proto.rs
@@ -528,7 +528,8 @@ pub(crate) fn url_from_abs_path(path: &Path) -> lsp_types::Url {
528 assert!(path.is_absolute()); 528 assert!(path.is_absolute());
529 let url = lsp_types::Url::from_file_path(path).unwrap(); 529 let url = lsp_types::Url::from_file_path(path).unwrap();
530 match path.components().next() { 530 match path.components().next() {
531 Some(path::Component::Prefix(prefix)) if matches!(prefix.kind(), path::Prefix::Disk(_) | path::Prefix::VerbatimDisk(_)) => 531 Some(path::Component::Prefix(prefix))
532 if matches!(prefix.kind(), path::Prefix::Disk(_) | path::Prefix::VerbatimDisk(_)) =>
532 { 533 {
533 // Need to lowercase driver letter 534 // Need to lowercase driver letter
534 } 535 }
diff --git a/docs/dev/lsp-extensions.md b/docs/dev/lsp-extensions.md
index b2defa737..2a966a96d 100644
--- a/docs/dev/lsp-extensions.md
+++ b/docs/dev/lsp-extensions.md
@@ -1,5 +1,5 @@
1<!--- 1<!---
2lsp_ext.rs hash: 7609fd6d7b4ab231 2lsp_ext.rs hash: 8f1ae8530f69e3a3
3 3
4If you need to change the above hash to make the test pass, please check if you 4If you need to change the above hash to make the test pass, please check if you
5need to adjust this doc as well and ping this issue: 5need to adjust this doc as well and ping this issue: