rust-analyzer: 2020-10-19 -> 2020-11-02

This commit is contained in:
oxalica 2020-11-03 22:31:16 +08:00
parent b117878387
commit 7ac7ce8b1a
No known key found for this signature in database
GPG key ID: CED392DE0C483D00
5 changed files with 914 additions and 1491 deletions

File diff suppressed because it is too large Load diff

View file

@ -2,10 +2,10 @@
{
rust-analyzer-unwrapped = callPackage ./generic.nix rec {
rev = "2020-10-19";
rev = "2020-11-02";
version = "unstable-${rev}";
sha256 = "1xvyk1d26zn1d9i42h78qsm6bg57nhn1rgr46jwa46gsb31nabjh";
cargoSha256 = "18s5yrc9fdj2ndylwyf07l0kmwxka7mnbj254xmq3g7ragw71xjw";
sha256 = "1f64286ywsjw9s8kai3jw2dqnqswm2vnms6ilxx1x706mridxjv0";
cargoSha256 = "0q53w43gag2pfb20jywikdbac291rvr1zmjnmwq462m5wfz0w127";
};
rust-analyzer = callPackage ./wrapper.nix {} {

View file

@ -16,11 +16,6 @@ rustPlatform.buildRustPackage {
inherit rev sha256;
};
# FIXME: Temporary fixes for our rust 1.46.0
patches = [
./no-track_env_var.patch # Requires rustc 1.47.0
];
buildAndTestSubdir = "crates/rust-analyzer";
cargoBuildFlags = lib.optional useMimalloc "--features=mimalloc";

View file

@ -1,120 +0,0 @@
This patch revert 3d169bd3f4cdc2dc3dd09eadbbc17c19214d69f3 (Add track_env_var to the proc macro server).
diff --git a/crates/proc_macro_srv/src/proc_macro/bridge/client.rs b/crates/proc_macro_srv/src/proc_macro/bridge/client.rs
index 55d6330cc..cb4b3bdb0 100644
--- a/crates/proc_macro_srv/src/proc_macro/bridge/client.rs
+++ b/crates/proc_macro_srv/src/proc_macro/bridge/client.rs
@@ -160,7 +160,6 @@ macro_rules! define_handles {
}
define_handles! {
'owned:
- FreeFunctions,
TokenStream,
TokenStreamBuilder,
TokenStreamIter,
diff --git a/crates/proc_macro_srv/src/proc_macro/bridge/mod.rs b/crates/proc_macro_srv/src/proc_macro/bridge/mod.rs
index b97886eb9..aeb05aad4 100644
--- a/crates/proc_macro_srv/src/proc_macro/bridge/mod.rs
+++ b/crates/proc_macro_srv/src/proc_macro/bridge/mod.rs
@@ -57,10 +57,6 @@ use std::thread;
macro_rules! with_api {
($S:ident, $self:ident, $m:ident) => {
$m! {
- FreeFunctions {
- fn drop($self: $S::FreeFunctions);
- fn track_env_var(var: &str, value: Option<&str>);
- },
TokenStream {
fn drop($self: $S::TokenStream);
fn clone($self: &$S::TokenStream) -> $S::TokenStream;
diff --git a/crates/proc_macro_srv/src/proc_macro/bridge/server.rs b/crates/proc_macro_srv/src/proc_macro/bridge/server.rs
index 3acb239af..45d41ac02 100644
--- a/crates/proc_macro_srv/src/proc_macro/bridge/server.rs
+++ b/crates/proc_macro_srv/src/proc_macro/bridge/server.rs
@@ -11,8 +11,6 @@ use super::client::HandleStore;
/// Declare an associated item of one of the traits below, optionally
/// adjusting it (i.e., adding bounds to types and default bodies to methods).
macro_rules! associated_item {
- (type FreeFunctions) =>
- (type FreeFunctions: 'static;);
(type TokenStream) =>
(type TokenStream: 'static + Clone;);
(type TokenStreamBuilder) =>
diff --git a/crates/proc_macro_srv/src/proc_macro/mod.rs b/crates/proc_macro_srv/src/proc_macro/mod.rs
index fc6e7344f..ee0dc9722 100644
--- a/crates/proc_macro_srv/src/proc_macro/mod.rs
+++ b/crates/proc_macro_srv/src/proc_macro/mod.rs
@@ -924,25 +924,3 @@ impl fmt::Debug for Literal {
self.0.fmt(f)
}
}
-
-pub mod tracked_env {
- use std::env::{self, VarError};
- use std::ffi::OsStr;
-
- /// Retrieve an environment variable and add it to build dependency info.
- /// Build system executing the compiler will know that the variable was accessed during
- /// compilation, and will be able to rerun the build when the value of that variable changes.
- /// Besides the dependency tracking this function should be equivalent to `env::var` from the
- /// standard library, except that the argument must be UTF-8.
- pub fn var<K: AsRef<OsStr> + AsRef<str>>(key: K) -> Result<String, VarError> {
- use std::ops::Deref;
-
- let key: &str = key.as_ref();
- let value = env::var(key);
- super::bridge::client::FreeFunctions::track_env_var(
- key,
- value.as_ref().map(|t| t.deref()).ok(),
- );
- value
- }
-}
diff --git a/crates/proc_macro_srv/src/rustc_server.rs b/crates/proc_macro_srv/src/rustc_server.rs
index c5fe3591e..7d1695c86 100644
--- a/crates/proc_macro_srv/src/rustc_server.rs
+++ b/crates/proc_macro_srv/src/rustc_server.rs
@@ -242,8 +242,6 @@ impl TokenStreamBuilder {
}
}
-pub struct FreeFunctions;
-
#[derive(Clone)]
pub struct TokenStreamIter {
trees: IntoIter<TokenTree>,
@@ -256,7 +254,6 @@ pub struct Rustc {
}
impl server::Types for Rustc {
- type FreeFunctions = FreeFunctions;
type TokenStream = TokenStream;
type TokenStreamBuilder = TokenStreamBuilder;
type TokenStreamIter = TokenStreamIter;
@@ -270,13 +267,6 @@ impl server::Types for Rustc {
type MultiSpan = Vec<Span>;
}
-impl server::FreeFunctions for Rustc {
- fn track_env_var(&mut self, _var: &str, _value: Option<&str>) {
- // FIXME: track env var accesses
- // https://github.com/rust-lang/rust/pull/71858
- }
-}
-
impl server::TokenStream for Rustc {
fn new(&mut self) -> Self::TokenStream {
Self::TokenStream::new()
diff --git a/xtask/src/install.rs b/xtask/src/install.rs
index fcc4f05e4..d829790d7 100644
--- a/xtask/src/install.rs
+++ b/xtask/src/install.rs
@@ -7,7 +7,7 @@ use anyhow::{bail, format_err, Context, Result};
use crate::not_bash::{pushd, run};
// Latest stable, feel free to send a PR if this lags behind.
-const REQUIRED_RUST_VERSION: u32 = 47;
+const REQUIRED_RUST_VERSION: u32 = 46;
pub struct InstallCmd {
pub client: Option<ClientOpt>,

View file

@ -3,7 +3,7 @@
"version": "0.4.0-dev",
"dependencies": {
"node-fetch": "^2.6.1",
"vscode-languageclient": "7.0.0-next.9",
"vscode-languageclient": "7.0.0-next.12",
"@rollup/plugin-commonjs": "^13.0.2",
"@rollup/plugin-node-resolve": "^8.4.0",
"@types/glob": "^7.1.3",