اضافهکردن Crateهای شخص ثالث
کتابخانههای Rust "Crates" نامیده میشوند و در crates.io یافت میشوند. وابستگی cratesهای Rust به یکدیگر بسیار آسان است. بنابراین آنها این کار را انجام میدهند!
ویژگی | C++ library | Rust crate |
---|---|---|
Build system | تعداد زیادی | یکپارچگی: Cargo.toml |
اندازه کتابخانه معمولی | Large-ish | کوچک |
وابستگیهای گذرا | Few | تعداد زیادی |
برای یک مهندس Chromium، این مزایا و معایب دارد:
- همه crateها از یک سیستم ساخت مشترک استفاده میکنند، بنابراین میتوانیم گنجاندن آنها در Chromium را خودکار کنیم...
- ... اما، crateها معمولاً وابستگیهای گذرا دارند، بنابراین احتمالاً مجبور خواهید بود چندین کتابخانه را بیاورید.
بحث خواهیم کرد:
- نحوه قرار دادن یک crate در درخت کد منبع Chromium
- چگونه قوانین ساخت
gn
برای آن ایجاد کنیم - نحوه بررسی کد منبع آن برای ایمنی کافی
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.