From 4d1ec818118c6c5dac5af19b291b9601ef98c17e Mon Sep 17 00:00:00 2001 From: Mark Rousskov Date: Thu, 6 Sep 2018 10:20:01 -0600 Subject: [PATCH 1/4] Stabilize the 2018 edition --- src/doc/rustdoc/src/command-line-arguments.md | 14 ++++++++++++++ src/doc/rustdoc/src/unstable-features.md | 13 ------------- src/librustdoc/lib.rs | 2 +- src/libsyntax_pos/edition.rs | 2 +- 4 files changed, 16 insertions(+), 15 deletions(-) diff --git a/src/doc/rustdoc/src/command-line-arguments.md b/src/doc/rustdoc/src/command-line-arguments.md index 417608cc5ca0a..aba485f752ab2 100644 --- a/src/doc/rustdoc/src/command-line-arguments.md +++ b/src/doc/rustdoc/src/command-line-arguments.md @@ -345,3 +345,17 @@ $ rustdoc src/lib.rs --sysroot /path/to/sysroot Similar to `rustc --sysroot`, this lets you change the sysroot `rustdoc` uses when compiling your code. + +### `--edition`: control the edition of docs and doctests + +Using this flag looks like this: + +```bash +$ rustdoc src/lib.rs --edition 2018 +$ rustdoc --test src/lib.rs --edition 2018 +``` + +This flag allows rustdoc to treat your rust code as the given edition. It will compile doctests with +the given edition as well. As with `rustc`, the default edition that `rustdoc` will use is `2015` +(the first edition). + diff --git a/src/doc/rustdoc/src/unstable-features.md b/src/doc/rustdoc/src/unstable-features.md index 32fb8c2f7d58e..071575b1fc094 100644 --- a/src/doc/rustdoc/src/unstable-features.md +++ b/src/doc/rustdoc/src/unstable-features.md @@ -346,19 +346,6 @@ details. [issue-display-warnings]: https://github.com/rust-lang/rust/issues/41574 -### `--edition`: control the edition of docs and doctests - -Using this flag looks like this: - -```bash -$ rustdoc src/lib.rs -Z unstable-options --edition 2018 -$ rustdoc --test src/lib.rs -Z unstable-options --edition 2018 -``` - -This flag allows rustdoc to treat your rust code as the given edition. It will compile doctests with -the given edition as well. As with `rustc`, the default edition that `rustdoc` will use is `2015` -(the first edition). - ### `--extern-html-root-url`: control how rustdoc links to non-local crates Using this flag looks like this: diff --git a/src/librustdoc/lib.rs b/src/librustdoc/lib.rs index 1acae86f0068f..3211607807ff3 100644 --- a/src/librustdoc/lib.rs +++ b/src/librustdoc/lib.rs @@ -286,7 +286,7 @@ fn opts() -> Vec { \"light-suffix.css\"", "PATH") }), - unstable("edition", |o| { + stable("edition", |o| { o.optopt("", "edition", "edition to use when compiling rust code (default: 2015)", "EDITION") diff --git a/src/libsyntax_pos/edition.rs b/src/libsyntax_pos/edition.rs index fce8fc3db4e4e..7709db72a02fb 100644 --- a/src/libsyntax_pos/edition.rs +++ b/src/libsyntax_pos/edition.rs @@ -65,7 +65,7 @@ impl Edition { pub fn is_stable(&self) -> bool { match *self { Edition::Edition2015 => true, - Edition::Edition2018 => false, + Edition::Edition2018 => true, } } } From 5af06768a9b80afd9c1b8bbed695152d4ac5d9db Mon Sep 17 00:00:00 2001 From: Mark Rousskov Date: Thu, 6 Sep 2018 10:47:41 -0600 Subject: [PATCH 2/4] Remove crate_visibility_modifier from 2018 edition --- src/libsyntax/feature_gate.rs | 2 +- src/test/ui-fulldeps/unnecessary-extern-crate.rs | 2 +- src/test/ui/crate-in-paths.rs | 2 +- src/test/ui/rust-2018/edition-lint-fully-qualified-paths.fixed | 2 +- src/test/ui/rust-2018/edition-lint-fully-qualified-paths.rs | 2 +- src/test/ui/rust-2018/edition-lint-nested-empty-paths.fixed | 2 +- src/test/ui/rust-2018/edition-lint-nested-empty-paths.rs | 2 +- src/test/ui/rust-2018/edition-lint-nested-paths.fixed | 2 +- src/test/ui/rust-2018/edition-lint-nested-paths.rs | 2 +- 9 files changed, 9 insertions(+), 9 deletions(-) diff --git a/src/libsyntax/feature_gate.rs b/src/libsyntax/feature_gate.rs index 0270e36db1177..9a9fb05529291 100644 --- a/src/libsyntax/feature_gate.rs +++ b/src/libsyntax/feature_gate.rs @@ -389,7 +389,7 @@ declare_features! ( (active, non_exhaustive, "1.22.0", Some(44109), None), // `crate` as visibility modifier, synonymous to `pub(crate)` - (active, crate_visibility_modifier, "1.23.0", Some(45388), Some(Edition::Edition2018)), + (active, crate_visibility_modifier, "1.23.0", Some(45388), None), // extern types (active, extern_types, "1.23.0", Some(43467), None), diff --git a/src/test/ui-fulldeps/unnecessary-extern-crate.rs b/src/test/ui-fulldeps/unnecessary-extern-crate.rs index ea3e0587958b1..df723ddf590c4 100644 --- a/src/test/ui-fulldeps/unnecessary-extern-crate.rs +++ b/src/test/ui-fulldeps/unnecessary-extern-crate.rs @@ -11,7 +11,7 @@ // edition:2018 #![deny(unused_extern_crates)] -#![feature(alloc, test, libc)] +#![feature(alloc, test, libc, crate_visibility_modifier)] extern crate alloc; //~^ ERROR unused extern crate diff --git a/src/test/ui/crate-in-paths.rs b/src/test/ui/crate-in-paths.rs index ef01294f941aa..cbf60b6b6a696 100644 --- a/src/test/ui/crate-in-paths.rs +++ b/src/test/ui/crate-in-paths.rs @@ -10,7 +10,7 @@ // edition:2018 -#![feature(edition_2018_preview)] +#![feature(crate_visibility_modifier)] mod bar { crate struct Foo; diff --git a/src/test/ui/rust-2018/edition-lint-fully-qualified-paths.fixed b/src/test/ui/rust-2018/edition-lint-fully-qualified-paths.fixed index 279d4e9a80622..211d2b726de1a 100644 --- a/src/test/ui/rust-2018/edition-lint-fully-qualified-paths.fixed +++ b/src/test/ui/rust-2018/edition-lint-fully-qualified-paths.fixed @@ -10,7 +10,7 @@ // run-rustfix -#![feature(rust_2018_preview)] +#![feature(rust_2018_preview, crate_visibility_modifier)] #![deny(absolute_paths_not_starting_with_crate)] mod foo { diff --git a/src/test/ui/rust-2018/edition-lint-fully-qualified-paths.rs b/src/test/ui/rust-2018/edition-lint-fully-qualified-paths.rs index ff290555a695c..90b5a7f816226 100644 --- a/src/test/ui/rust-2018/edition-lint-fully-qualified-paths.rs +++ b/src/test/ui/rust-2018/edition-lint-fully-qualified-paths.rs @@ -10,7 +10,7 @@ // run-rustfix -#![feature(rust_2018_preview)] +#![feature(rust_2018_preview, crate_visibility_modifier)] #![deny(absolute_paths_not_starting_with_crate)] mod foo { diff --git a/src/test/ui/rust-2018/edition-lint-nested-empty-paths.fixed b/src/test/ui/rust-2018/edition-lint-nested-empty-paths.fixed index 929b7cd061b3e..94803a117dc54 100644 --- a/src/test/ui/rust-2018/edition-lint-nested-empty-paths.fixed +++ b/src/test/ui/rust-2018/edition-lint-nested-empty-paths.fixed @@ -10,7 +10,7 @@ // run-rustfix -#![feature(rust_2018_preview)] +#![feature(rust_2018_preview, crate_visibility_modifier)] #![deny(absolute_paths_not_starting_with_crate)] #![allow(unused_imports)] #![allow(dead_code)] diff --git a/src/test/ui/rust-2018/edition-lint-nested-empty-paths.rs b/src/test/ui/rust-2018/edition-lint-nested-empty-paths.rs index b5693c4bb93ad..7f68eeff438cd 100644 --- a/src/test/ui/rust-2018/edition-lint-nested-empty-paths.rs +++ b/src/test/ui/rust-2018/edition-lint-nested-empty-paths.rs @@ -10,7 +10,7 @@ // run-rustfix -#![feature(rust_2018_preview)] +#![feature(rust_2018_preview, crate_visibility_modifier)] #![deny(absolute_paths_not_starting_with_crate)] #![allow(unused_imports)] #![allow(dead_code)] diff --git a/src/test/ui/rust-2018/edition-lint-nested-paths.fixed b/src/test/ui/rust-2018/edition-lint-nested-paths.fixed index 06f6b6d75a700..ee54229bfb240 100644 --- a/src/test/ui/rust-2018/edition-lint-nested-paths.fixed +++ b/src/test/ui/rust-2018/edition-lint-nested-paths.fixed @@ -10,7 +10,7 @@ // run-rustfix -#![feature(rust_2018_preview)] +#![feature(rust_2018_preview, crate_visibility_modifier)] #![deny(absolute_paths_not_starting_with_crate)] use crate::foo::{a, b}; diff --git a/src/test/ui/rust-2018/edition-lint-nested-paths.rs b/src/test/ui/rust-2018/edition-lint-nested-paths.rs index c2831ec04b797..9a42f5f28c821 100644 --- a/src/test/ui/rust-2018/edition-lint-nested-paths.rs +++ b/src/test/ui/rust-2018/edition-lint-nested-paths.rs @@ -10,7 +10,7 @@ // run-rustfix -#![feature(rust_2018_preview)] +#![feature(rust_2018_preview, crate_visibility_modifier)] #![deny(absolute_paths_not_starting_with_crate)] use foo::{a, b}; From 3387f80ce39827dfa91c5559cc9999ec7737b035 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Matthias=20Kr=C3=BCger?= Date: Sat, 8 Sep 2018 14:06:40 +0200 Subject: [PATCH 3/4] submodules: update clippy, rls with crate visibility patches, also update cargo --- src/tools/cargo | 2 +- src/tools/clippy | 2 +- src/tools/rls | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/src/tools/cargo b/src/tools/cargo index 0ec7281b9c36c..2fb77a49b43bf 160000 --- a/src/tools/cargo +++ b/src/tools/cargo @@ -1 +1 @@ -Subproject commit 0ec7281b9c36ca7f724bfac8b029633910270a48 +Subproject commit 2fb77a49b43bf7266793c07a19a06749e6a8ad5a diff --git a/src/tools/clippy b/src/tools/clippy index cafef7b576203..fdd830f52c082 160000 --- a/src/tools/clippy +++ b/src/tools/clippy @@ -1 +1 @@ -Subproject commit cafef7b576203f166add9ed143979d9775c25219 +Subproject commit fdd830f52c082b83db0dac3e0066c0cf114050d2 diff --git a/src/tools/rls b/src/tools/rls index cf6358a00540a..5b5cd9d457194 160000 --- a/src/tools/rls +++ b/src/tools/rls @@ -1 +1 @@ -Subproject commit cf6358a00540a83dcc6e8c243f3306ccdbb9c354 +Subproject commit 5b5cd9d45719414196e254ec17baa598acc8cd25 From 60be0686e0c7135bf67d1df767cd2f792f2e94f4 Mon Sep 17 00:00:00 2001 From: Eric Huss Date: Sun, 9 Sep 2018 03:08:47 +0200 Subject: [PATCH 4/4] merge cargo changes done by https://github.com/rust-lang/rust/pull/53935/ (done by matthiaskrgr, but I authored ehuss) --- src/Cargo.lock | 8 ++++---- src/bootstrap/test.rs | 2 ++ 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/Cargo.lock b/src/Cargo.lock index 9828966fa9539..989655ffb4f5c 100644 --- a/src/Cargo.lock +++ b/src/Cargo.lock @@ -172,13 +172,13 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "cargo" -version = "0.30.0" +version = "0.31.0" dependencies = [ "atty 0.2.11 (registry+https://github.com/rust-lang/crates.io-index)", "bufstream 0.1.3 (registry+https://github.com/rust-lang/crates.io-index)", "clap 2.32.0 (registry+https://github.com/rust-lang/crates.io-index)", "core-foundation 0.6.1 (registry+https://github.com/rust-lang/crates.io-index)", - "crates-io 0.18.0", + "crates-io 0.19.0", "crossbeam-utils 0.5.0 (registry+https://github.com/rust-lang/crates.io-index)", "crypto-hash 0.3.1 (registry+https://github.com/rust-lang/crates.io-index)", "curl 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)", @@ -452,7 +452,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "crates-io" -version = "0.18.0" +version = "0.19.0" dependencies = [ "curl 0.4.14 (registry+https://github.com/rust-lang/crates.io-index)", "failure 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)", @@ -1753,7 +1753,7 @@ dependencies = [ name = "rls" version = "0.130.5" dependencies = [ - "cargo 0.30.0", + "cargo 0.31.0", "cargo_metadata 0.6.0 (registry+https://github.com/rust-lang/crates.io-index)", "clippy_lints 0.0.212", "crossbeam-channel 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)", diff --git a/src/bootstrap/test.rs b/src/bootstrap/test.rs index f762d9414cff3..8e42c9c1ec773 100644 --- a/src/bootstrap/test.rs +++ b/src/bootstrap/test.rs @@ -237,6 +237,8 @@ impl Step for Cargo { // Don't run cross-compile tests, we may not have cross-compiled libstd libs // available. cargo.env("CFG_DISABLE_CROSS_TESTS", "1"); + // Disable a test that has issues with mingw. + cargo.env("CARGO_TEST_DISABLE_GIT_CLI", "1"); try_run( builder,