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!

PropriedadeBibliotecas do C++Crates de Rust
Sistema de compilaçãoMuitosConsistente: Cargo.toml
Tamanho tĂ­pico da bibliotecaMeio grandePequeno
DependĂȘncias transitivasPoucos(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.