如何在文档测试中忽略一行到文档中?

How to put a line into the documentation which is ignored for doc tests?

如何在文档代码中写入一行但让编译器忽略它?

我要写

/// # Examples
///
/// To clone something, do
///
/// ```
/// IGNORE_FOR_COMPILATION_BUT_SHOW: let cloned = myValue.clone();
/// # let cloned = 5.clone();
/// ```

我想得到:

例子

要克隆某物,请执行

let cloned = myValue.clone();

但编译器仍应编译示例(克隆 5)。

EDIT:我也想把 运行 的货物运到示例中,但是省略了一行。

documentation 说你可以这样做:

/// ```rust,ignore
/// highlighted as rust code but ignored by rustdoc
/// ```

还有 rust,no_run 编译但不 运行 示例代码。

或者,您可以使用与在普通代码中相同的解决方案:将其注释掉。

/// ```rust
/// let x=5;
/// // x = 6;  // won't be run
/// assert_eq!(x, 5);
/// ```

如果您想忽略 doctests 中的部分 Rust 代码,您可能需要阅读 running documentation tests 部分。基本上将该代码提取到不同的块中并将该块设置为 rust,ignore.

这将完全忽略 IGNORE_FOR_COMPILATION_BUT_SHOW,但其余的将 运行:

///```rust,ignore
///IGNORE_FOR_COMPILATION_BUT_SHOW: let cloned = myValue.clone(); 
///```

///```rust
/// # let cloned = 5.clone();
/// ```

如果你想让 rustdoc 编译你的文档测试,而不是 运行 它,你可以使用 rust,no_run