From 198fb14bbbcf1030b813914d349f9066b5c3c2e3 Mon Sep 17 00:00:00 2001 From: Caleb Cartwright Date: Mon, 15 Jun 2020 18:54:37 -0500 Subject: [PATCH 1/3] ci: add llvm-tools-preview component to fix build --- ci/azure-test.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/ci/azure-test.yml b/ci/azure-test.yml index fe2c61ab82d..dcfdc96c1ff 100644 --- a/ci/azure-test.yml +++ b/ci/azure-test.yml @@ -17,7 +17,7 @@ jobs: parameters: rust_version: ${{ parameters.rust }} - script: | - rustup component add rust-src rust-analysis rustc-dev + rustup component add rust-src rust-analysis rustc-dev llvm-tools-preview displayName: Install distributed Rust source code for Racer autocompletion - ${{ each crate in parameters.crates }}: - script: cargo test -v From a740229177f14d151eeb78a3b092adfc9b311465 Mon Sep 17 00:00:00 2001 From: Caleb Cartwright Date: Mon, 15 Jun 2020 18:54:17 -0500 Subject: [PATCH 2/3] deps: bump racer and rustfmt to fix toolstate --- Cargo.lock | 184 +++++++++++++++++++++++--------------- Cargo.toml | 4 +- rls/src/actions/format.rs | 3 +- 3 files changed, 116 insertions(+), 75 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index bfc1901ecec..455a1c7c912 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -24,6 +24,12 @@ dependencies = [ "ansi_term", ] +[[package]] +name = "annotate-snippets" +version = "0.8.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d78ea013094e5ea606b1c05fe35f1dd7ea1eb1ea259908d040b25bd5ec677ee5" + [[package]] name = "ansi_term" version = "0.11.0" @@ -317,7 +323,7 @@ dependencies = [ [[package]] name = "clippy_lints" version = "0.0.212" -source = "git+https://github.com/rust-lang/rust-clippy?rev=28197b622611ba3a6367648974ccf59127c287bb#28197b622611ba3a6367648974ccf59127c287bb" +source = "git+https://github.com/rust-lang/rust-clippy?rev=7ea7cd165ad6705603852771bf82cc2fd6560db5#7ea7cd165ad6705603852771bf82cc2fd6560db5" dependencies = [ "cargo_metadata 0.9.1", "if_chain", @@ -325,10 +331,12 @@ dependencies = [ "lazy_static", "pulldown-cmark", "quine-mc_cluskey", + "quote", "regex-syntax", "semver", "serde", "smallvec 1.4.0", + "syn", "toml", "unicode-normalization", "url 2.1.1", @@ -1382,6 +1390,15 @@ dependencies = [ "libc", ] +[[package]] +name = "once_cell" +version = "1.4.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0b631f7e854af39a1739f401cf34a8a013dfe09eac4fa4dba91e9768bd28168d" +dependencies = [ + "parking_lot 0.10.2", +] + [[package]] name = "opaque-debug" version = "0.2.3" @@ -1615,9 +1632,9 @@ dependencies = [ [[package]] name = "racer" -version = "2.1.34" +version = "2.1.35" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cc9caecf1286a3ed28d3ae35207a178ba12e58de95540781e5c6cba05e0f0833" +checksum = "421174f19211ba9e5fda34aa0cbc292188aae8e0cfbff4aebbae23f1a416bfb3" dependencies = [ "bitflags", "clap", @@ -1761,7 +1778,7 @@ dependencies = [ "anyhow", "cargo", "cargo_metadata 0.8.2", - "clippy_lints 0.0.212 (git+https://github.com/rust-lang/rust-clippy?rev=28197b622611ba3a6367648974ccf59127c287bb)", + "clippy_lints 0.0.212 (git+https://github.com/rust-lang/rust-clippy?rev=7ea7cd165ad6705603852771bf82cc2fd6560db5)", "crossbeam-channel", "difference", "env_logger 0.7.1", @@ -1888,43 +1905,38 @@ dependencies = [ ] [[package]] -name = "rustc-ap-arena" -version = "659.0.0" +name = "rustc-ap-rustc_arena" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fdaf0295fc40b10ec1091aad1a1760b4bb3b4e7c4f77d543d1a2e9d50a01e6b1" +checksum = "0c6683b49209f8b132bec33dc6b6c8f9958c8c94eb3586d4cb495e092b61c1da" dependencies = [ "rustc-ap-rustc_data_structures", "smallvec 1.4.0", ] -[[package]] -name = "rustc-ap-graphviz" -version = "659.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "8028e8cdb4eb71810d0c22a5a5e1e3106c81123be63ce7f044b6d4ac100d8941" - [[package]] name = "rustc-ap-rustc_ast" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "16e9e502bb3a5568433db1cf2fb1f1e1074934636069cf744ad7c77b58e1428e" +checksum = "5b21784d92fb2d584800f528866f00fe814f73abda794f406bfd1fbb2f1ca7f7" dependencies = [ + "bitflags", "log", "rustc-ap-rustc_data_structures", "rustc-ap-rustc_index", "rustc-ap-rustc_lexer", "rustc-ap-rustc_macros", + "rustc-ap-rustc_serialize", "rustc-ap-rustc_span", - "rustc-ap-serialize", "scoped-tls", "smallvec 1.4.0", ] [[package]] name = "rustc-ap-rustc_ast_passes" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "faf35ffecab28f97f7ac01cf6a13afaca6408529d15eb95f317a43b2ffb88933" +checksum = "820c46fde7ef1df0432073090d775f097b7279ca75ea34ba954081ce4b884d4c" dependencies = [ "itertools 0.8.2", "log", @@ -1941,20 +1953,21 @@ dependencies = [ [[package]] name = "rustc-ap-rustc_ast_pretty" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3684ed43dc552f1e030e3f7a5a300a7a834bdda4e9e00ab80284be4220d8c603" +checksum = "013db7dd198fe95962d2cefa5bd0b350cf2028af77c169b17b4baa9c3bbf77d1" dependencies = [ "log", "rustc-ap-rustc_ast", "rustc-ap-rustc_span", + "rustc-ap-rustc_target", ] [[package]] name = "rustc-ap-rustc_attr" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "31b413927daa666983b3b49227f9ac218aa29254546abdb585f20cd71c391870" +checksum = "35b5a85c90eb341eec543600ffdd9e262da5ea72a73a23ae4ca2f4ab8cd1a188" dependencies = [ "rustc-ap-rustc_ast", "rustc-ap-rustc_ast_pretty", @@ -1962,17 +1975,17 @@ dependencies = [ "rustc-ap-rustc_errors", "rustc-ap-rustc_feature", "rustc-ap-rustc_macros", + "rustc-ap-rustc_serialize", "rustc-ap-rustc_session", "rustc-ap-rustc_span", - "rustc-ap-serialize", "version_check", ] [[package]] name = "rustc-ap-rustc_data_structures" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "4b1c6069e5c522657f1c6f5ab33074e097092f48e804cc896d337e319aacbd60" +checksum = "b92e4c6cb6c43ee9031a71709dc12853b358253c2b41d12a26379994fab625e0" dependencies = [ "bitflags", "cfg-if", @@ -1984,10 +1997,11 @@ dependencies = [ "libc", "log", "measureme", + "once_cell", "parking_lot 0.10.2", - "rustc-ap-graphviz", + "rustc-ap-rustc_graphviz", "rustc-ap-rustc_index", - "rustc-ap-serialize", + "rustc-ap-rustc_serialize", "rustc-hash", "rustc-rayon", "rustc-rayon-core", @@ -1999,16 +2013,16 @@ dependencies = [ [[package]] name = "rustc-ap-rustc_errors" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0c374e89b3c9714869ef86076942155383804ba6778c26be2169d324563c31f9" +checksum = "6b0aa79423260c1b9e2f856e144e040f606b0f5d43644408375becf9d7bcdf86" dependencies = [ - "annotate-snippets", + "annotate-snippets 0.8.0", "atty", "log", "rustc-ap-rustc_data_structures", + "rustc-ap-rustc_serialize", "rustc-ap-rustc_span", - "rustc-ap-serialize", "termcolor", "termize", "unicode-width", @@ -2017,9 +2031,9 @@ dependencies = [ [[package]] name = "rustc-ap-rustc_expand" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "259d2a7aa7a12f3c99a4ce4123643ec065f1a26f8e89be1f9bedd9757ea53fdc" +checksum = "c07d76ba2a1b7d4325a2ed21d6345ccebd89ddc6666a1535a6edd489fb4cbc11" dependencies = [ "log", "rustc-ap-rustc_ast", @@ -2031,17 +2045,17 @@ dependencies = [ "rustc-ap-rustc_feature", "rustc-ap-rustc_lexer", "rustc-ap-rustc_parse", + "rustc-ap-rustc_serialize", "rustc-ap-rustc_session", "rustc-ap-rustc_span", - "rustc-ap-serialize", "smallvec 1.4.0", ] [[package]] name = "rustc-ap-rustc_feature" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c0296fbc29b629d5ae2ebee1bbf0407bb22de04d26d87216c20899b79579ccb3" +checksum = "1bbd625705c1db42a0c7503736292813d7b76ada5da20578fb55c63228c80ab5" dependencies = [ "lazy_static", "rustc-ap-rustc_data_structures", @@ -2050,34 +2064,40 @@ dependencies = [ [[package]] name = "rustc-ap-rustc_fs_util" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "34734f6cc681399630acd836a14207c6b5b9671a290cc7cad0354b0a4d71b3c9" +checksum = "34cca6e2942fa0b059c582437ead666d5bcf20fa7c242599e2bbea9b609f29ae" + +[[package]] +name = "rustc-ap-rustc_graphviz" +version = "664.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "13d6a029b81f5e02da85763f82c135507f278a4a0c776432c728520563059529" [[package]] name = "rustc-ap-rustc_index" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d1e4508753d71d3523209c2ca5086db15a1413e71ebf17ad5412bb7ced5e44c2" +checksum = "bae50852d303e230b2781c994513788136dc6c2fe4ebe032959f0b990a425767" dependencies = [ - "rustc-ap-serialize", + "rustc-ap-rustc_serialize", "smallvec 1.4.0", ] [[package]] name = "rustc-ap-rustc_lexer" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "42b9fcd8407e322908a721262fbc0b35b5f3c35bb173a26dd1e0070bde336e33" +checksum = "b7186e74aa2d31bf0e2454325fefcdf0a3da77d9344134592144b9e40d45b15d" dependencies = [ "unicode-xid", ] [[package]] name = "rustc-ap-rustc_macros" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3d104115a689367d2e0bcd99f37e0ebd6b9c8c78bab0d9cbea5bae86323601b5" +checksum = "4fc1add04e9d2301164118660ee0bc3266e9a7b1973fc2303fdbe002a12e5401" dependencies = [ "proc-macro2", "quote", @@ -2087,9 +2107,9 @@ dependencies = [ [[package]] name = "rustc-ap-rustc_parse" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "afaaab91853fc5a3916785ccae727a4433359d9787c260d42b96a2265fe5b287" +checksum = "9cd7fc4968bd60084f2fa4f280fa450b0cf98660a7983d6b93a7ae41b6d1d322" dependencies = [ "bitflags", "log", @@ -2104,11 +2124,21 @@ dependencies = [ "unicode-normalization", ] +[[package]] +name = "rustc-ap-rustc_serialize" +version = "664.0.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "00bf4c110271d9a2b7dfd2c6eb82e56fd80606a8bad6c102e158c54e44044046" +dependencies = [ + "indexmap", + "smallvec 1.4.0", +] + [[package]] name = "rustc-ap-rustc_session" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "86e756a57ce6ce1b868e35e64a7e10ab28d49ece80d7c661b07aff5afc6e5d2d" +checksum = "431cf962de71d4c03fb877d54f331ec36eca77350b0539017abc40a4410d6501" dependencies = [ "getopts", "log", @@ -2118,26 +2148,25 @@ dependencies = [ "rustc-ap-rustc_errors", "rustc-ap-rustc_feature", "rustc-ap-rustc_fs_util", - "rustc-ap-rustc_index", + "rustc-ap-rustc_serialize", "rustc-ap-rustc_span", "rustc-ap-rustc_target", - "rustc-ap-serialize", ] [[package]] name = "rustc-ap-rustc_span" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "21031c3396ee452f4c6e994b67513a633055c57c86d00336afd9d63149518f34" +checksum = "b912039640597624f4bcb75f1e1fcfa5710267d715a7f73a6336baef341b23d1" dependencies = [ "cfg-if", "log", "md-5", - "rustc-ap-arena", + "rustc-ap-rustc_arena", "rustc-ap-rustc_data_structures", "rustc-ap-rustc_index", "rustc-ap-rustc_macros", - "rustc-ap-serialize", + "rustc-ap-rustc_serialize", "scoped-tls", "sha-1", "unicode-width", @@ -2145,27 +2174,17 @@ dependencies = [ [[package]] name = "rustc-ap-rustc_target" -version = "659.0.0" +version = "664.0.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ff21badfbead5b0050391eaad8840f2e4fcb03b6b0fc6006f447443529e9ae6e" +checksum = "51347a9dadc5ad0b5916cc12d42624b31955285ad13745dbe72f0140038b84e9" dependencies = [ "bitflags", "log", "rustc-ap-rustc_data_structures", "rustc-ap-rustc_index", "rustc-ap-rustc_macros", + "rustc-ap-rustc_serialize", "rustc-ap-rustc_span", - "rustc-ap-serialize", -] - -[[package]] -name = "rustc-ap-serialize" -version = "659.0.0" -source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "768b5a305669d934522712bc13502962edfde5128ea63b9e7db4000410be1dc6" -dependencies = [ - "indexmap", - "smallvec 1.4.0", ] [[package]] @@ -2250,18 +2269,18 @@ dependencies = [ [[package]] name = "rustfmt-nightly" -version = "1.4.15" +version = "1.4.18" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d6ee982884c079cd47127e5911449e8a972f3932822becdf9b00f15774a8a558" +checksum = "a6d91c72914addd5f6136fc607425f56b19964404940c7b7d19f36428c615021" dependencies = [ - "annotate-snippets", + "annotate-snippets 0.6.1", + "anyhow", "bytecount", "cargo_metadata 0.8.2", "derive-new", "diff", "dirs", "env_logger 0.6.2", - "failure", "getopts", "ignore", "itertools 0.8.2", @@ -2283,6 +2302,7 @@ dependencies = [ "serde_json", "structopt", "term", + "thiserror", "toml", "unicode-segmentation", "unicode-width", @@ -2619,6 +2639,26 @@ dependencies = [ "unicode-width", ] +[[package]] +name = "thiserror" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b13f926965ad00595dd129fa12823b04bbf866e9085ab0a5f2b05b850fbfc344" +dependencies = [ + "thiserror-impl", +] + +[[package]] +name = "thiserror-impl" +version = "1.0.19" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "893582086c2f98cde18f906265a65b5030a074b1046c674ae898be6519a7f479" +dependencies = [ + "proc-macro2", + "quote", + "syn", +] + [[package]] name = "thread_local" version = "1.0.1" diff --git a/Cargo.toml b/Cargo.toml index 604043625ef..5b08d5db6d3 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -42,11 +42,11 @@ lsp-types = { version = "0.60", features = ["proposed"] } lazy_static = "1" log = "0.4" num_cpus = "1" -racer = { version = "2.1.34", default-features = false } +racer = { version = "2.1.35", default-features = false } rand = "0.7" rayon = "1" rustc_tools_util = "0.2" -rustfmt-nightly = "1.4.15" +rustfmt-nightly = "1.4.18" serde = "1.0" serde_json = "1.0" serde_derive = "1.0" diff --git a/rls/src/actions/format.rs b/rls/src/actions/format.rs index 10530fc714d..0de4e9d874a 100644 --- a/rls/src/actions/format.rs +++ b/rls/src/actions/format.rs @@ -193,7 +193,8 @@ fn random_file() -> Result<(File, PathBuf), Error> { fn gen_config_file(config: &Config) -> Result<(File, PathBuf), Error> { let (mut file, path) = random_file()?; - let toml = config.all_options().to_toml().map_err(Error::ConfigTomlOutput)?; + let toml = + config.all_options().to_toml().map_err(|e| Error::ConfigTomlOutput(e.to_string()))?; file.write_all(toml.as_bytes())?; Ok((file, path)) From 088289bd62873d23864e60ceee0ab6cba4ba0db8 Mon Sep 17 00:00:00 2001 From: Caleb Cartwright Date: Mon, 15 Jun 2020 19:55:02 -0500 Subject: [PATCH 3/3] ci: include CFG_RELASE vars for rustc-ap crates --- ci/azure-test.yml | 39 +++++++++++++++++++++++++++++++++++---- 1 file changed, 35 insertions(+), 4 deletions(-) diff --git a/ci/azure-test.yml b/ci/azure-test.yml index dcfdc96c1ff..ec3db9b6dab 100644 --- a/ci/azure-test.yml +++ b/ci/azure-test.yml @@ -1,6 +1,9 @@ jobs: # Check formatting - job: ${{ parameters.name }} + variables: + cfgRelease: '' + cfgReleaseChannel: ${{ parameters.rust }} displayName: Run tests on strategy: matrix: @@ -19,11 +22,39 @@ jobs: - script: | rustup component add rust-src rust-analysis rustc-dev llvm-tools-preview displayName: Install distributed Rust source code for Racer autocompletion + - script: | + CFG_RELEASE=$(rustc --version | cut -d ' ' -f 2 | cut -d '-' -f 1) + echo "##vso[task.setvariable variable=cfgRelease]$CFG_RELEASE" + displayName: Set CFG_RELEASE variable + condition: not(eq(variables['Agent.OS'], 'Windows_NT')) + - powershell: | + $rustVersion = rustc --version + $rustVersionParts = $rustVersion -split " " -split "-" + $cfgRelease = $rustVersionParts[1] + Write-Host "##vso[task.setvariable variable=cfgRelease]$cfgRelease" + displayName: Set CFG_RELEASE variables + condition: eq(variables['Agent.OS'], 'Windows_NT') - ${{ each crate in parameters.crates }}: - - script: cargo test -v + - script: CFG_RELEASE_CHANNEL=$(cfgReleaseChannel) CFG_RELEASE=$(cfgRelease) cargo test -v + displayName: Run tests - ${{ crate.key }} + workingDirectory: $(Build.SourcesDirectory)/${{ crate.key }} + condition: not(eq(variables['Agent.OS'], 'Windows_NT')) + - script: | + set CFG_RELEASE_CHANNEL=$(cfgReleaseChannel) + set CFG_RELEASE=$(cfgRelease) + cargo test -v displayName: Run tests - ${{ crate.key }} workingDirectory: $(Build.SourcesDirectory)/${{ crate.key }} + condition: eq(variables['Agent.OS'], 'Windows_NT') - ${{ each extra in crate.value }}: - - script: cargo test -v ${{ extra.args }} ${{ extra.test_name }} -- ${{ extra.test_args }} - displayName: Run tests - ${{ crate.key }} - ${{ extra.test_name }} - workingDirectory: $(Build.SourcesDirectory)/${{ crate.key }} + - ${{ if not(eq(variables['Agent.OS'], 'Windows_NT')) }}: + - script: CFG_RELEASE_CHANNEL=$(cfgReleaseChannel) CFG_RELEASE=$(cfgRelease) cargo test -v ${{ extra.args }} ${{ extra.test_name }} -- ${{ extra.test_args }} + displayName: Run tests - ${{ crate.key }} - ${{ extra.test_name }} + workingDirectory: $(Build.SourcesDirectory)/${{ crate.key }} + - ${{ if eq(variables['Agent.OS'], 'Windows_NT') }}: + - script: | + set CFG_RELEASE_CHANNEL=$(cfgReleaseChannel) + set CFG_RELEASE=$(cfgRelease) + cargo test -v ${{ extra.args }} ${{ extra.test_name }} -- ${{ extra.test_args }} + displayName: Run tests - ${{ crate.key }} - ${{ extra.test_name }} + workingDirectory: $(Build.SourcesDirectory)/${{ crate.key }}