Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/apache/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Rust 结合博士和“外部板条箱”`_Rust_Rustdoc - Fatal编程技术网

Rust 结合博士和“外部板条箱”`

Rust 结合博士和“外部板条箱”`,rust,rustdoc,Rust,Rustdoc,例如,在Rust 2018中,我可以使用extern self作为板条箱名称,然后使用完全限定语法 外部板条箱自身作为板条箱名称//设置我们的板条箱名称 pub结构成员; fn test(){ ::板条箱名称::成员;//使用完全限定名称 } 然而,我似乎无法让它在医生测试中起作用: //``` ///外部板条箱自身作为板条箱名称//设置板条箱名称 ///pub结构成员; ///fn test(){ ///::板条箱名称::成员;//使用完全限定名称 /// } /// ``` fn示例(){

例如,在Rust 2018中,我可以使用
extern self作为板条箱名称
,然后使用完全限定语法

外部板条箱自身作为板条箱名称//设置我们的板条箱名称
pub结构成员;
fn test(){
::板条箱名称::成员;//使用完全限定名称
}
然而,我似乎无法让它在医生测试中起作用:

//```
///外部板条箱自身作为板条箱名称//设置板条箱名称
///pub结构成员;
///fn test(){
///::板条箱名称::成员;//使用完全限定名称
/// }
/// ```
fn示例(){}
错误[E0425]:在模块
板条箱名称

我应该提到的是,我实际上正在对procmacro进行博士测试。也就是说,a)测试需要包含完全限定的语法,因为procmacro将扩展到该语法,b)我需要调整测试前奏,以便编译扩展。基本上,doctest应该模拟类型/路径,以便procmacro可以工作。

这是因为如果doctest中没有出现
fn main()
,rustdoc会将测试包装在
main
中,因此模拟的类型实际上是在该函数中声明的

在测试中包含一个
main
函数将选择此选项,并允许控制声明类型的位置

//```
///外部板条箱自身作为板条箱名称//假装我们是板条箱
///pub结构成员;
///fn main(){::板条箱名称::成员;//演示完全限定名称
/// }
/// ```
fn示例(){}