Rollup merge of #82598 - GuillaumeGomez:rustdoc-rustc-pass, r=jyn514

Check stability and feature attributes in rustdoc

Fixes #82588.

cc `@Nemo157` `@camelid`
r? `@jyn514`
This commit is contained in:
Guillaume Gomez 2021-03-02 00:50:08 +01:00 committed by GitHub
commit 5a82251e92
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
7 changed files with 20 additions and 1 deletions

View File

@ -23,6 +23,7 @@ pub use crate::sys::windows_ext as windows;
pub mod linux;
#[cfg(doc)]
#[stable(feature = "wasi_ext_doc", since = "1.35.0")]
pub use crate::sys::wasi_ext as wasi;
// If we're not documenting libstd then we just expose the main modules as we otherwise would.

View File

@ -111,7 +111,7 @@ cfg_if::cfg_if! {
cfg_if::cfg_if! {
if #[cfg(target_os = "wasi")] {
// On WASI we'll document what's already available
#[stable(feature = "rust1", since = "1.0.0")]
#[stable(feature = "wasi_ext_doc", since = "1.35.0")]
pub use self::ext as wasi_ext;
} else if #[cfg(any(target_os = "hermit",
target_arch = "wasm32",
@ -125,6 +125,7 @@ cfg_if::cfg_if! {
} else {
// On other platforms like Windows document the bare bones of WASI
#[path = "wasi/ext/mod.rs"]
#[stable(feature = "wasi_ext_doc", since = "1.35.0")]
pub mod wasi_ext;
}
}

View File

@ -491,6 +491,7 @@ crate fn run_global_ctxt(
tcx.ensure().check_mod_attrs(module);
}
});
rustc_passes::stability::check_unused_or_stable_features(tcx);
let access_levels = tcx.privacy_access_levels(LOCAL_CRATE);
// Convert from a HirId set to a DefId set since we don't always have easy access

View File

@ -49,6 +49,7 @@ extern crate rustc_metadata;
extern crate rustc_middle;
extern crate rustc_mir;
extern crate rustc_parse;
extern crate rustc_passes;
extern crate rustc_resolve;
extern crate rustc_session;
extern crate rustc_span as rustc_span;

View File

@ -0,0 +1,4 @@
#![feature(box_syntax)]
#![feature(box_syntax)] //~ ERROR
pub fn foo() {}

View File

@ -0,0 +1,9 @@
error[E0636]: the feature `box_syntax` has already been declared
--> $DIR/rustc-check-passes.rs:2:12
|
LL | #![feature(box_syntax)]
| ^^^^^^^^^^
error: aborting due to previous error
For more information about this error, try `rustc --explain E0636`.

View File

@ -1,3 +1,4 @@
#![stable(feature = "bar", since = "OLD 1.0")]
#![crate_name = "foo"]
#![feature(staged_api)]
@ -8,6 +9,7 @@ pub trait Bar {}
#[stable(feature = "baz", since = "OLD 1.0")]
pub trait Baz {}
#[stable(feature = "baz", since = "OLD 1.0")]
pub struct Foo;
// @has foo/trait.Bar.html '//div[@id="implementors-list"]//span[@class="since"]' 'NEW 2.0'