تیم توسعه برای معرفی Rust 1.36 هیجان زده است!
چه چیزی در Rust 1.36 جدید است؟
و اکنون با جزئیات بیشتر:
- سرانجام در Rust 1.36 تثبیت شد صفت آینده.
- تخصیص جعبه
از Rust 1.36، بخشهایی از std که به تخصیصدهنده جهانی وابسته هستند (مانند Vec) ، در جعبه تخصیص قرار دارند. اکنون std این قطعات را دوباره صادر خواهد کرد. بیشتر در این مورد. - شاید واحد به جای mem::uninitialized.
در نسخه های قبلی، mem::uninitialized به شما اجازه می داد تا بررسی اولیه را دور بزنید، از آن برای تخصیص آرایه تنبل استفاده می شد، اما این تابع بسیار خطرناک است (بیشتر، بنابراین نوع MaybeUninit تثبیت شد ، که ایمن تر است.
خوب، از MaybeUninit جایگزین امنتری است، پس از Rust 1.38، mem::unitialized یک ویژگی منسوخ خواهد بود.
اگر میخواهید در مورد حافظه اولیه بیاموزید، میتوانید این پست وبلاگ الکسیس بینگسنر را بخوانید. - NLL برای Rust 2015.
در اطلاعیه زنگ 1.31.0 توسعه دهندگان به ما در مورد NLL (زندگی غیر واژگانی) گفتند، بهبودی برای زبان که جستجوگر قرض را هوشمندتر و کاربرپسندتر می کند. مثال:
fn main() {
اجازه دهید mut x = 5;
اجازه دهید y = &x;
اجازه دهید z = &mut x; // این قبل از 1.31.0 مجاز نبود.
}در نسخه 1.31.0، NLL فقط در Rust 2018 کار می کرد، با این وعده که توسعه دهندگان پشتیبانی را در Rust 2015 اضافه خواهند کرد.
اگر می خواهید در مورد NLL بیشتر بدانید، می توانید در این مطلب بیشتر بخوانید ورودی های وبلاگ (فلیکس کلاکس). - پرچم جدید برای Cargo - آفلاین است.
Rust 1.36 پرچم جدیدی را برای Cargo تثبیت کرده است. پرچم --offline به Cargo میگوید که از وابستگیهای کش محلی استفاده کند تا بعداً بهصورت آفلاین از آنها استفاده شود. زمانی که وابستگی های لازم به صورت آفلاین در دسترس نباشند، و اگر همچنان به اینترنت نیاز باشد، Cargo یک خطا برمی گرداند. برای پیش دانلود وابستگی ها می توانید از دستور cargo fetch استفاده کنید که تمام وابستگی ها را دانلود می کند. - اینجا می توانید مروری دقیق تر از تغییرات را بخوانید.
همچنین تغییراتی در کتابخانه استاندارد وجود دارد:
- ماکرو dbg!() اکنون می تواند چندین آرگومان بگیرد.
- اکنون چندین API به عنوان const علامت گذاری شده اند:
- API های جدیدی که تثبیت شده اند:
- سایر تغییرات کتابخانه استاندارد را می توانید در اینجا بیابید اینجا.
منبع: linux.org.ru