لینک کوتاه مطلب : https://hsgar.com/?p=4202

Rust نسخه 1.62.0 منتشر شد

تیم Rust خوشحال است که نسخه جدید Rust، 1.62.0 را معرفی می کند. Rust یک زبان برنامه نویسی است که به همه اجازه می دهد تا نرم افزارهای قابل اعتماد و کارآمد بسازند.

اگر نسخه قبلی Rust را از طریق rustup نصب کرده اید، می توانید نسخه 1.62.0 را با موارد زیر دریافت کنید:

rustup update stable

اگر قبلاً آن را ندارید، می توانید گرفتن rustup

از صفحه مناسب در وب سایت ما، و بررسی کنید
یادداشت های انتشار دقیق برای 1.62.0 در GitHub.

اگر می‌خواهید با آزمایش نسخه‌های بعدی به ما کمک کنید، ممکن است برای استفاده از کانال بتا به‌روزرسانی محلی را در نظر بگیرید (rustup default beta) یا کانال شبانه (rustup default nightly). لطفا گزارش هر اشکالی که ممکن است با آن روبرو شوید!

اکنون می توانید وابستگی های جدید را مستقیماً از خط فرمان با استفاده از آن اضافه کنید cargo add. این دستور از مشخص کردن ویژگی ها و نسخه ها پشتیبانی می کند. همچنین می توان از آن برای اصلاح وابستگی های موجود استفاده کرد.

مثلا:

cargo add log
cargo add serde --features derive
cargo add nom@5

اسناد محموله برای بیشتر.

اکنون می توانید استفاده کنید #[derive(Default)] در enums اگر یک نوع پیش فرض را مشخص کنید. به عنوان مثال، تا کنون باید به صورت دستی a را بنویسید Default impl برای این enum:

#[derive(Default)]
enum Maybe<T> {
    #[default]
    Nothing,

    Something(T),
}

RFC برای این ویژگی

قبلا، Mutex، Condvar، و RwLock توسط کتابخانه pthreads در لینوکس پشتیبانی شدند. قفل‌های pthreads از ویژگی‌های بیشتری نسبت به خود Rust API پشتیبانی می‌کنند، از جمله پیکربندی زمان اجرا، و به گونه‌ای طراحی شده‌اند که در زبان‌هایی با ضمانت‌های ثابت کمتر نسبت به Rust استفاده شوند.

برای مثال پیاده سازی mutex 40 بایت است و قابل جابجایی نیست. این امر کتابخانه استاندارد را مجبور به اختصاص a Box پشت صحنه برای هر mutex جدید برای پلتفرم هایی که از pthread استفاده می کنند.

کتابخانه استاندارد Rust اکنون با یک پیاده‌سازی خام مبتنی بر futex از این قفل‌ها در لینوکس عرضه می‌شود که بسیار سبک است و نیازی به تخصیص اضافی ندارد. در 1.62.0 Mutex تنها به 5 بایت برای وضعیت داخلی خود در لینوکس نیاز دارد، اگرچه ممکن است در نسخه های بعدی تغییر کند.

مسئله ردیابی.

x86_64-unknown-none هدف ارتقا یافته است ردیف 2 و با rustup قابل نصب است.

rustup target add x86_64-unknown-none
rustc --target x86_64-unknown-none my_no_std_program.rs

می توانید در مورد توسعه با استفاده بیشتر بخوانید no_std در کتاب زنگ جاسازی شده.

روش‌ها و پیاده‌سازی ویژگی‌های زیر اکنون تثبیت شده‌اند:

زنگ،
بار، و کلیپی.

با تشکر!

لینک منبع

ارسال یک پاسخ

آدرس ایمیل شما منتشر نخواهد شد.