6.3 `chromium::import!` 宏
03-
chromium::import! 宏 — Comprehensive Rust1分钟内可阅读完
译文 · 基于 Comprehensive Rust
原文链接: https://google.github.io/comprehensive-rust/chromium/testing/chromium-import-macro.html
6.3 chromium::import! 宏
在把 :my_rust_lib 加入 GN deps 之后,我们仍需了解如何从 my_rust_lib_unittest.rs 导入并使用 my_rust_lib。我们没有为 my_rust_lib 提供显式 crate_name,因此其 crate 名基于完整目标路径与名称计算。幸好我们可以使用自动导入的 chromium crate 中的 chromium::import! 宏,避免处理如此别扭的名字:
| |
在底层,该宏展开为类似这样的内容:
| |
更多信息见 chromium::import 宏的文档注释。
rust_static_library支持通过crate_name属性指定显式名称,但这样做不鼓励。不鼓励是因为 crate 名必须全局唯一。crates.io 保证其 crate 名的唯一性,因此cargo_crateGN 目标(由稍后介绍的gnrt工具生成)使用短 crate 名。