宏自己的doc测试中出现“找不到宏”错误

古斯塔夫·拉尔森(Gustav Larsson)

我正在尝试将文档测试添加到我要导出的Rust宏中。像这样的东西:

/// Usage:
///
/// ```
/// let x = addone!(100);
/// ```
#[macro_export]
macro_rules! addone {
    ($x:expr) => ($x + 1)
}

如果我cargo test对此进行操作,我会得到

failures:

---- src/lib.rs - addone (line 3) stdout ----
    error: cannot find macro `addone!` in this scope
 --> src/lib.rs:2:9
  |
2 | let x = addone!(100);
  |         ^^^^^^

我想不出一种macro_use在doc测试中添加的合法方法,因此没有运气。

Rust的标准库中遵循与上面代码相​​同的格式,因此我期望它能正常工作。

克里斯·摩根

如果Doc测试在代码中extern crate foo; fn main() { … }找不到这些元素则会自动将代码块包装在其中,但是要获取导出的宏,您需要在上添加#[macro_use]属性extern crate foo;

因此,您应该这样写:

/// Usage:
///
/// ```
/// # #[macro_use] extern crate foo; fn main() {
/// let x = addone!(100);
/// # }
/// ```
#[macro_export]
macro_rules! addone {
    ($x:expr) => ($x + 1)
}

(以前缀的行在输出中隐藏,但在为文档测试编译的代码中没有标记,但包含在内)。

Rust编程语言第一版对此进行了介绍

至于std,则#[macro_use] extern crate std;在所有未定义#![no_std]crate属性的板条箱中都有一个隐含内容,因此其宏可立即使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Rust:找不到宏

来自分类Dev

在找不到列名的 postgresql 中出现错误?

来自分类Dev

修剪宏出现错误

来自分类Dev

测试失败,出现“找不到方法”错误

来自分类Dev

Eclipse中出现错误“找不到node.js”

来自分类Dev

通过Github在发布网站中出现“找不到页面”错误

来自分类Dev

为什么在JavaScript中出现“找不到图片”错误?

来自分类Dev

在Mac上的IntelliJide中出现错误“找不到类”

来自分类Dev

我无法运行TestNG测试,在控制台中出现“在类路径中找不到类:TestNG1”错误

来自分类Dev

Excel宏中出现错误“应用程序定义或对象定义的错误”

来自分类Dev

SBT / Scala:找不到宏实现

来自分类Dev

如何解决宏找不到VBA

来自分类Dev

运行AutoExec宏时找不到名称

来自分类Dev

宏项目-自己配置的宏

来自分类Dev

宏项目-自己配置的宏

来自分类Dev

突然的VueJS错误:多vue中出现错误,找不到模块:错误:无法解析“ vue”

来自分类Dev

vim:出现子宏错误后继续宏吗?

来自分类Dev

尝试在宏扩展中实现特征时出现宏错误

来自分类Dev

ChefSpec测试出现“找不到菜谱”错误

来自分类Dev

VBA-Excel 2010宏错误“找不到成员或数据方法”

来自分类Dev

生成过程中出现错误:“错误:找不到符号方法createSingle(<anonymous Callable <Scenario >>)”

来自分类Dev

在Excel宏的路径名中出现空格问题

来自分类Dev

尝试使用线程宏并出现错误

来自分类Dev

在umbraco中出现错误找不到类型或名称空间名称“ Umbraco”

来自分类Dev

在生成过程中出现错误“找不到类型或名称空间名称”

来自分类Dev

为什么我的Laravel模块中出现“找不到类”错误?

来自分类Dev

kdb Web应用程序中出现“ html / main.html:找不到”错误

来自分类Dev

浏览器控制台中出现“找不到模块”错误消息

来自分类Dev

我在此php / pdo代码中出现HY093错误,但找不到

Related 相关文章

  1. 1

    Rust:找不到宏

  2. 2

    在找不到列名的 postgresql 中出现错误?

  3. 3

    修剪宏出现错误

  4. 4

    测试失败,出现“找不到方法”错误

  5. 5

    Eclipse中出现错误“找不到node.js”

  6. 6

    通过Github在发布网站中出现“找不到页面”错误

  7. 7

    为什么在JavaScript中出现“找不到图片”错误?

  8. 8

    在Mac上的IntelliJide中出现错误“找不到类”

  9. 9

    我无法运行TestNG测试,在控制台中出现“在类路径中找不到类:TestNG1”错误

  10. 10

    Excel宏中出现错误“应用程序定义或对象定义的错误”

  11. 11

    SBT / Scala:找不到宏实现

  12. 12

    如何解决宏找不到VBA

  13. 13

    运行AutoExec宏时找不到名称

  14. 14

    宏项目-自己配置的宏

  15. 15

    宏项目-自己配置的宏

  16. 16

    突然的VueJS错误:多vue中出现错误,找不到模块:错误:无法解析“ vue”

  17. 17

    vim:出现子宏错误后继续宏吗?

  18. 18

    尝试在宏扩展中实现特征时出现宏错误

  19. 19

    ChefSpec测试出现“找不到菜谱”错误

  20. 20

    VBA-Excel 2010宏错误“找不到成员或数据方法”

  21. 21

    生成过程中出现错误:“错误:找不到符号方法createSingle(<anonymous Callable <Scenario >>)”

  22. 22

    在Excel宏的路径名中出现空格问题

  23. 23

    尝试使用线程宏并出现错误

  24. 24

    在umbraco中出现错误找不到类型或名称空间名称“ Umbraco”

  25. 25

    在生成过程中出现错误“找不到类型或名称空间名称”

  26. 26

    为什么我的Laravel模块中出现“找不到类”错误?

  27. 27

    kdb Web应用程序中出现“ html / main.html:找不到”错误

  28. 28

    浏览器控制台中出现“找不到模块”错误消息

  29. 29

    我在此php / pdo代码中出现HY093错误,但找不到

热门标签

归档