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.