From 73dd19f530c1b885c90d3c466161232625b38f1c Mon Sep 17 00:00:00 2001 From: Mark Rousskov Date: Thu, 6 Sep 2018 10:20:01 -0600 Subject: [PATCH 1/2] 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 8c3ac3cd84c49e19fce781efaee864600836086d Mon Sep 17 00:00:00 2001 From: Mark Rousskov Date: Thu, 6 Sep 2018 10:47:41 -0600 Subject: [PATCH 2/2] 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 e3ea3563d853b..88e93021bf0a9 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};