Skip to content

Commit

Permalink
rustdoc: Fix missing stability and src links for inlined external macros
Browse files Browse the repository at this point in the history
  • Loading branch information
ollie27 committed Jun 6, 2018
1 parent 4a9c58c commit e73941a
Show file tree
Hide file tree
Showing 3 changed files with 52 additions and 3 deletions.
6 changes: 3 additions & 3 deletions src/librustdoc/visit_ast.rs
Original file line number Diff line number Diff line change
Expand Up @@ -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),
})
}
Expand Down
21 changes: 21 additions & 0 deletions src/test/rustdoc/inline_cross/auxiliary/macros.rs
Original file line number Diff line number Diff line change
@@ -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 {
() => ()
}
28 changes: 28 additions & 0 deletions src/test/rustdoc/inline_cross/macros.rs
Original file line number Diff line number Diff line change
@@ -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;

0 comments on commit e73941a

Please sign in to comment.