Macro chromium::import!

Depois de adicionar :my_rust_lib Ă s deps do GN, ainda precisamos aprender como importar e usar my_rust_lib de my_rust_lib_unittest.rs. NĂŁo fornecemos um crate_name explĂ­cito para my_rust_lib, portanto, seu nome de crate Ă© calculado com base no caminho e nome do alvo completo. Felizmente, podemos evitar trabalhar com um nome tĂŁo difĂ­cil de usar usando o macro chromium::import! do crate chromium automaticamente importado:

chromium::import! {
    "//ui/base:my_rust_lib";
}

use my_rust_lib::my_function_under_test;

Por baixo dos panos, a macro se expande para algo semelhante a:

extern crate ui_sbase_cmy_urust_ulib as my_rust_lib;

use my_rust_lib::my_function_under_test;

Mais informaçÔes podem ser encontradas no comentårio de documentação da macro chromium::import.

rust_static_library suporta a especificação de um nome explĂ­cito via propriedade crate_name, mas isso Ă© desencorajado. E Ă© desencorajado porque o nome do crate tem que ser globalmente Ășnico. crates.io garante a unicidade de seus nomes de crate, portanto, os alvos cargo_crate GN (gerados pela ferramenta gnrt abordada em uma seção posterior) usam nomes curtos de crate.