mirror of
https://github.com/rust-lang/rust.git
synced 2025-04-28 02:57:37 +00:00
Rollup merge of #35234 - nrc:rustdoc-macros, r=steveklabnik
rustdoc: remove the `!` from macro URLs and titles Because the `!` is part of a macro use, not the macro's name. E.g., you write `macro_rules! foo` not `macro_rules! foo!`, also `#[macro_import(foo)]`. (Pulled out of #35020).
This commit is contained in:
commit
d5595d1f3e
@ -59,7 +59,7 @@ handling is reducing the amount of explicit case analysis the programmer has to
|
||||
do while keeping code composable.
|
||||
|
||||
Keeping code composable is important, because without that requirement, we
|
||||
could [`panic`](../std/macro.panic!.html) whenever we
|
||||
could [`panic`](../std/macro.panic.html) whenever we
|
||||
come across something unexpected. (`panic` causes the current task to unwind,
|
||||
and in most cases, the entire program aborts.) Here's an example:
|
||||
|
||||
@ -944,7 +944,7 @@ macro_rules! try {
|
||||
}
|
||||
```
|
||||
|
||||
(The [real definition](../std/macro.try!.html) is a bit more
|
||||
(The [real definition](../std/macro.try.html) is a bit more
|
||||
sophisticated. We will address that later.)
|
||||
|
||||
Using the `try!` macro makes it very easy to simplify our last example. Since
|
||||
@ -1271,7 +1271,7 @@ macro_rules! try {
|
||||
```
|
||||
|
||||
This is not its real definition. Its real definition is
|
||||
[in the standard library](../std/macro.try!.html):
|
||||
[in the standard library](../std/macro.try.html):
|
||||
|
||||
<span id="code-try-def"></span>
|
||||
|
||||
@ -2178,7 +2178,7 @@ heuristics!
|
||||
[`From`](../std/convert/trait.From.html)
|
||||
and
|
||||
[`Error`](../std/error/trait.Error.html)
|
||||
impls to make the [`try!`](../std/macro.try!.html)
|
||||
impls to make the [`try!`](../std/macro.try.html)
|
||||
macro more ergonomic.
|
||||
* If you're writing a library and your code can produce errors, define your own
|
||||
error type and implement the
|
||||
|
@ -530,7 +530,7 @@ use string;
|
||||
/// assert_eq!(s, "Hello, world!");
|
||||
/// ```
|
||||
///
|
||||
/// [format!]: ../macro.format!.html
|
||||
/// [format!]: ../macro.format.html
|
||||
#[stable(feature = "rust1", since = "1.0.0")]
|
||||
pub fn format(args: Arguments) -> string::String {
|
||||
let mut output = string::String::new();
|
||||
|
@ -2803,7 +2803,7 @@ pub struct Macro {
|
||||
|
||||
impl Clean<Item> for doctree::Macro {
|
||||
fn clean(&self, cx: &DocContext) -> Item {
|
||||
let name = format!("{}!", self.name.clean(cx));
|
||||
let name = self.name.clean(cx);
|
||||
Item {
|
||||
name: Some(name.clone()),
|
||||
attrs: self.attrs.clean(cx),
|
||||
@ -2814,8 +2814,10 @@ impl Clean<Item> for doctree::Macro {
|
||||
def_id: cx.map.local_def_id(self.id),
|
||||
inner: MacroItem(Macro {
|
||||
source: format!("macro_rules! {} {{\n{}}}",
|
||||
name.trim_right_matches('!'), self.matchers.iter().map(|span|
|
||||
format!(" {} => {{ ... }};\n", span.to_src(cx))).collect::<String>()),
|
||||
name,
|
||||
self.matchers.iter().map(|span| {
|
||||
format!(" {} => {{ ... }};\n", span.to_src(cx))
|
||||
}).collect::<String>()),
|
||||
imported_from: self.imported_from.clean(cx),
|
||||
}),
|
||||
}
|
||||
|
@ -1426,6 +1426,16 @@ impl Context {
|
||||
.open(&redir_dst) {
|
||||
try_err!(layout::redirect(&mut redirect_out, file_name), &redir_dst);
|
||||
}
|
||||
|
||||
// If the item is a macro, redirect from the old macro URL (with !)
|
||||
// to the new one (without).
|
||||
// FIXME(#35705) remove this redirect.
|
||||
if item_type == ItemType::Macro {
|
||||
let redir_name = format!("{}.{}!.html", item_type, name);
|
||||
let redir_dst = self.dst.join(redir_name);
|
||||
let mut redirect_out = try_err!(File::create(&redir_dst), &redir_dst);
|
||||
try_err!(layout::redirect(&mut redirect_out, file_name), &redir_dst);
|
||||
}
|
||||
}
|
||||
}
|
||||
Ok(())
|
||||
|
@ -236,7 +236,7 @@
|
||||
//! to read the line and print it, so we use `()`.
|
||||
//!
|
||||
//! [result]: type.Result.html
|
||||
//! [try]: ../macro.try!.html
|
||||
//! [try]: ../macro.try.html
|
||||
//!
|
||||
//! ## Platform-specific behavior
|
||||
//!
|
||||
@ -957,8 +957,8 @@ pub trait Write {
|
||||
/// explicitly be called. The [`write!`][write] macro should be favored to
|
||||
/// invoke this method instead.
|
||||
///
|
||||
/// [formatargs]: ../macro.format_args!.html
|
||||
/// [write]: ../macro.write!.html
|
||||
/// [formatargs]: ../macro.format_args.html
|
||||
/// [write]: ../macro.write.html
|
||||
///
|
||||
/// This function internally uses the [`write_all`][writeall] method on
|
||||
/// this trait and hence will continuously write data so long as no errors
|
||||
|
@ -175,7 +175,7 @@
|
||||
//! [`atomic`]: sync/atomic/index.html
|
||||
//! [`collections`]: collections/index.html
|
||||
//! [`for`]: ../book/loops.html#for
|
||||
//! [`format!`]: macro.format!.html
|
||||
//! [`format!`]: macro.format.html
|
||||
//! [`fs`]: fs/index.html
|
||||
//! [`io`]: io/index.html
|
||||
//! [`iter`]: iter/index.html
|
||||
|
@ -27,7 +27,7 @@
|
||||
/// assert!(!bool_val);
|
||||
/// ```
|
||||
///
|
||||
/// [`assert!`]: macro.assert!.html
|
||||
/// [`assert!`]: macro.assert.html
|
||||
/// [`if`]: ../book/if.html
|
||||
/// [`BitAnd`]: ops/trait.BitAnd.html
|
||||
/// [`BitOr`]: ops/trait.BitOr.html
|
||||
|
@ -12,7 +12,7 @@
|
||||
// ignore-cross-compile
|
||||
// build-aux-docs
|
||||
|
||||
// @has issue_26606_macro/macro.make_item!.html
|
||||
// @has issue_26606_macro/macro.make_item.html
|
||||
#[macro_use]
|
||||
extern crate issue_26606_macro;
|
||||
|
||||
|
@ -8,10 +8,12 @@
|
||||
// option. This file may not be copied, modified, or distributed
|
||||
// except according to those terms.
|
||||
|
||||
// @has macros/macro.my_macro!.html //pre 'macro_rules! my_macro {'
|
||||
// @has macros/macro.my_macro.html //pre 'macro_rules! my_macro {'
|
||||
// @has - //pre '() => { ... };'
|
||||
// @has - //pre '($a:tt) => { ... };'
|
||||
// @has - //pre '($e:expr) => { ... };'
|
||||
// @has macros/macro.my_macro!.html
|
||||
// @has - //a 'macro.my_macro.html'
|
||||
#[macro_export]
|
||||
macro_rules! my_macro {
|
||||
() => [];
|
||||
|
6
src/tools/linkchecker/Cargo.lock
generated
6
src/tools/linkchecker/Cargo.lock
generated
@ -42,3 +42,9 @@ dependencies = [
|
||||
"matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)",
|
||||
]
|
||||
|
||||
[metadata]
|
||||
"checksum idna 0.1.0 (registry+https://github.com/rust-lang/crates.io-index)" = "1053236e00ce4f668aeca4a769a09b3bf5a682d802abd6f3cb39374f6b162c11"
|
||||
"checksum matches 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "15305656809ce5a4805b1ff2946892810992197ce1270ff79baded852187942e"
|
||||
"checksum unicode-bidi 0.2.3 (registry+https://github.com/rust-lang/crates.io-index)" = "c1f7ceb96afdfeedee42bade65a0d585a6a0106f681b6749c8ff4daa8df30b3f"
|
||||
"checksum unicode-normalization 0.1.2 (registry+https://github.com/rust-lang/crates.io-index)" = "26643a2f83bac55f1976fb716c10234485f9202dcd65cfbdf9da49867b271172"
|
||||
"checksum url 1.2.0 (registry+https://github.com/rust-lang/crates.io-index)" = "afe9ec54bc4db14bc8744b7fed060d785ac756791450959b2248443319d5b119"
|
||||
|
Loading…
Reference in New Issue
Block a user