Adicionando Crates de Terceiros
As bibliotecas Rust são chamadas de “crates” e são encontradas em crates.io. É muito fácil para as crates Rust dependerem umas das outras. Então eles fazem!
Propriedade | Bibliotecas do C++ | Crates de Rust |
---|---|---|
Sistema de compilação | Muitos | Consistente: Cargo.toml |
Tamanho típico da biblioteca | Meio grande | Pequeno |
Dependências transitivas | Poucos(as) | Muitos |
Para um engenheiro do Chromium, isso tem prós e contras:
- Todas as crates usam um sistema de compilação comum, para que possamos automatizar sua inclusão no Chromium…
- … mas, os crates normalmente têm dependências transitivas, então você provavelmente terá que importar várias bibliotecas.
Vamos discutir:
- Como colocar um crate na árvore do código-fonte do Chromium
- Como criar regras de compilação
gn
para ele - Como auditar seu código-fonte para que ele seja seguro o suficiente.
All of the things in the table on this slide are generalizations, and
counter-examples can be found. But in general it's important for students
to understand that most Rust code depends on other Rust libraries, because
it's easy to do so, and that this has both benefits and costs.