diff options
| author | kennytm <kennytm@gmail.com> | 2018-06-08 07:05:43 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-06-08 07:05:43 +0800 |
| commit | d5759daf643272fed402cfe27a7ebdf487c323bd (patch) | |
| tree | dba87dcc6e3dcf7d66e182798262748d0632e30b /src | |
| parent | b94b89b2eeeb179a00febe2c58c0157f635e039d (diff) | |
| parent | e73941a06b8a12d45407395a82589aaabcab1354 (diff) | |
| download | rust-d5759daf643272fed402cfe27a7ebdf487c323bd.tar.gz rust-d5759daf643272fed402cfe27a7ebdf487c323bd.zip | |
Rollup merge of #51389 - ollie27:rustdoc_cross_macro_src_stab, r=QuietMisdreavus
rustdoc: Fix missing stability and src links for inlined external macros Fixes #38951 r? @QuietMisdreavus
Diffstat (limited to 'src')
| -rw-r--r-- | src/librustdoc/visit_ast.rs | 6 | ||||
| -rw-r--r-- | src/test/rustdoc/inline_cross/auxiliary/macros.rs | 21 | ||||
| -rw-r--r-- | src/test/rustdoc/inline_cross/macros.rs | 28 |
3 files changed, 52 insertions, 3 deletions
diff --git a/src/librustdoc/visit_ast.rs b/src/librustdoc/visit_ast.rs index 8c2555c4b3d..f05cbbfd7a2 100644 --- a/src/librustdoc/visit_ast.rs +++ b/src/librustdoc/visit_ast.rs @@ -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), }) } diff --git a/src/test/rustdoc/inline_cross/auxiliary/macros.rs b/src/test/rustdoc/inline_cross/auxiliary/macros.rs new file mode 100644 index 00000000000..39b52d68bf1 --- /dev/null +++ b/src/test/rustdoc/inline_cross/auxiliary/macros.rs @@ -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 { + () => () +} diff --git a/src/test/rustdoc/inline_cross/macros.rs b/src/test/rustdoc/inline_cross/macros.rs new file mode 100644 index 00000000000..8d2f7d15d7d --- /dev/null +++ b/src/test/rustdoc/inline_cross/macros.rs @@ -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; |
