我在我的库的文档示例中修复错误时遇到了困难.我有像我的箱子一样的文件结构bignum
.
|-- Cargo.lock
|-- Cargo.toml
|-- examples
| |-- dat
| | `-- euler_13.dat
| |-- debug.rs
| `-- euler_13.rs
|-- README.md
|-- src
| |-- error.rs
| |-- inits.rs
| `-- lib.rs
Run Code Online (Sandbox Code Playgroud)
在我的示例中,我的标题看起来像
// euler_13.rs
extern crate bignum;
use bignum::inits::Zero;
// ...
Run Code Online (Sandbox Code Playgroud)
这编译并且工作得很好,但是现在当我在我的文档中写一个例子时lib.rs,我似乎无法导入bignum::inits::Zero
//lib.rs
//...
impl BigNum {
//...
/// Constructs a ...
///
/// # Examples
///
/// ```
/// extern crate bignum;
/// use bignum::inits::Zero;
///
/// let a = bignum::BigNum::new(Zero::zero());
/// ```
///
pub fn new(base: BigNum) -> BigNum {
// ...
}
Run Code Online (Sandbox Code Playgroud)
当我跑步时cargo test,我收到此错误
Running target/debug/lib-fe3dd7a75a504b04
running 3 tests
test crate_from_u32 ... ok
test create_from_string ... ok
test adding_no_carry ... ok
test result: ok. 3 passed; 0 failed; 0 ignored; 0 measured
Doc-tests bignum
running 1 test
test new_0 ... FAILED
failures:
---- new_0 stdout ----
<anon>:3:9: 3:15 error: unresolved import `self::bignum::inits::Zero`. Did you mean `self::self::bignum::inits`?
<anon>:3 use self::bignum::inits::Zero;
^~~~~~
error: aborting due to previous error
thread 'new_0' panicked at 'Box<Any>', /home/rustbuild/src/rust-buildbot/slave/stable-dist-rustc-linux/build/src/libsyntax/diagnostic.rs:192
failures:
new_0
Run Code Online (Sandbox Code Playgroud)
我已经看到了这个问题,但这涉及从同一个文件导入模块,这仍然需要扩展范围.但是在这里我仍然指定顶级范围bignum::.
因此,虽然导入bignum::inits::Zero适用于我的所有测试和示例,但它对我的文档不起作用.这是为什么?我试过self::在前面附加并收到同样的错误.如果我将doc示例更改为
extern crate bignum;
let a = bignum::BigNum::new(bignum::inits::Zero::zero());
Run Code Online (Sandbox Code Playgroud)
然而它编译好了.如何正确导入模块?
She*_*ter 12
rustdoc会自动
main()在你的代码周围添加一个包装器,并在正确的位置.
如果您在链接中应用规则,您最终将编译代码如下:
fn main() {
extern crate bignum;
use bignum::inits::Zero;
let a = bignum::BigNum::new(Zero::zero());
}
Run Code Online (Sandbox Code Playgroud)
然后,您确实需要将其称为self::bignum,如第一条错误消息所示.不幸的是,由于Rust issue 23314,目前无法使用.
| 归档时间: |
|
| 查看次数: |
1648 次 |
| 最近记录: |