rustdoc: Fix missing stability and src links for inlined external macros

This commit is contained in:
Oliver Middleton 2018-06-06 04:13:55 +01:00
parent 4a9c58c6bd
commit e73941a06b
3 changed files with 52 additions and 3 deletions

View file

@ -244,10 +244,10 @@ impl<'a, 'tcx, 'rcx> RustdocVisitor<'a, 'tcx, 'rcx> {
def_id,
attrs: def.attrs.clone().into(),
name: def.ident.name,
whence: def.span,
whence: self.cx.tcx.def_span(def_id),
matchers,
stab: self.stability(def.id),
depr: self.deprecation(def.id),
stab: self.cx.tcx.lookup_stability(def_id).cloned(),
depr: self.cx.tcx.lookup_deprecation(def_id),
imported_from: Some(imported_from),
})
}

View file

@ -0,0 +1,21 @@
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
#![feature(staged_api)]
#![stable(feature = "rust1", since = "1.0.0")]
/// docs for my_macro
#[unstable(feature = "macro_test", issue = "0")]
#[rustc_deprecated(since = "1.2.3", reason = "text")]
#[macro_export]
macro_rules! my_macro {
() => ()
}

View file

@ -0,0 +1,28 @@
// Copyright 2018 The Rust Project Developers. See the COPYRIGHT
// file at the top-level directory of this distribution and at
// http://rust-lang.org/COPYRIGHT.
//
// Licensed under the Apache License, Version 2.0 <LICENSE-APACHE or
// http://www.apache.org/licenses/LICENSE-2.0> or the MIT license
// <LICENSE-MIT or http://opensource.org/licenses/MIT>, at your
// option. This file may not be copied, modified, or distributed
// except according to those terms.
// aux-build:macros.rs
// build-aux-docs
#![feature(macro_test)]
#![feature(use_extern_macros)]
#![crate_name = "foo"]
extern crate macros;
// @has foo/index.html '//*[@class="docblock-short"]' '[Deprecated] [Experimental]'
// @has foo/macro.my_macro.html
// @has - '//*[@class="docblock"]' 'docs for my_macro'
// @has - '//*[@class="stab deprecated"]' 'Deprecated since 1.2.3: text'
// @has - '//*[@class="stab unstable"]' 'macro_test'
// @has - '//a/@href' '../src/macros/macros.rs.html#19-21'
pub use macros::my_macro;