chromium::import!
Macro
پس از افزودن :my_rust_lib
به GN deps
، همچنان باید نحوه وارد کردن و استفاده از my_rust_lib
را از my_rust_lib_unittest.rs
یاد بگیریم. ما یک crate_name
صریح برای my_rust_lib
ارائه نکردهایم، بنابراین نام crate آن بر اساس مسیر و نام کامل هدف محاسبه میشود. خوشبختانه ما میتوانیم با استفاده از ماکرو chromium::import!
از chromium
crate که بهطور خودکار وارد میشود، درنتیجه از کار با چنین نامی پرهیز کنیم:
chromium::import! {
"//ui/base:my_rust_lib";
}
use my_rust_lib::my_function_under_test;
در زیر جلدها، ماکرو به چیزی شبیه به زیر گسترش می یابد:
extern crate ui_sbase_cmy_urust_ulib as my_rust_lib;
use my_rust_lib::my_function_under_test;
اطلاعات بیشتر را میتوانید در doc comment پیدا کنید. ماکرو مربوطه chromium::import
.
rust_static_library
از تعیین نام صریح از طریق ویژگیcrate_name
پشتیبانی میکند، اما انجام این کار ممنوع است و از آن جلوگیری میشود زیرا نام crate باید در سطح سراسری منحصربهفرد باشد. crates.io منحصربهفرد بودن نام crateهای خود را تضمین میکند، بنابراین اهدافcargo_crate
GN (تولید شده توسط ابزار gnrt
که در بخش بعدی پوشش داده شده است) از نامهای crate کوتاه استفاده میکنند.