پشتیبانی از C-string literals نوشتن کدی را آسانتر میکند که با رابطهای زبان خارجی که نیاز به رشتههای پایاندار تهی دارند، تعامل داشته باشد.
Rust 1.77، آخرین نسخه زبان برنامه نویسی مبتنی بر تحقیقات موزیلا با تمرکز بر ایمنی، سرعت و همزمانی، پشتیبانی از C-string literals را اضافه می کند.
رشتههای رشتهای C در Rust به یک رشته پایانیافته با بایت خالی در حافظه از نوع & 'static CStr
گسترش مییابد. این کار نوشتن کدی را آسانتر میکند که با رابطهای زبان خارجی که به رشتههای تهی نیاز دارند، تعامل داشته باشد. تمام بررسی خطاهای مربوطه، مانند یک بایت تهی داخلی گمشده، در زمان کامپایل انجام میشود.
اعلام شده در ۲۱ مارس، Rust 1.77 می توان با استفاده از rustup نصب کرد:
$ rustup بهروزرسانی پایدار است
یکی دیگر از بهبودهای Rust 1.77 پشتیبانی از بازگشت در async fn
است. توابع Async قبلاً به دلیل محدودیت کامپایلر نمی توانستند خود را فراخوانی کنند، اما Rust 1.77 این محدودیت را برطرف می کند. تماس های بازگشتی در حال حاضر تا زمانی مجاز هستند که از شکلی از غیر جهت جلوگیری کنند تا از اندازه نامحدود برای وضعیت تابع جلوگیری کنند.
همچنین در Rust 1.77، ماکرو offsetof!
برای فیلدهای ساختار تثبیت شده است. این امکان دسترسی به افست بایت فیلد عمومی مربوطه یک ساختار را فراهم می کند. تیم Rust گفت: این ماکرو زمانی میتواند بسیار مفید باشد که افست یک فیلد بدون نمونهای از یک نوع مورد نیاز باشد.
بهعلاوه، نمایههای مدیر بسته Cargo در Rust 1.77 که debuginfo در خروجی ها strip = "debugiinfo"
را به طور پیش فرض فعال می کند. این عمدتاً مورد نیاز است زیرا کتابخانه استاندارد از پیش کامپایل شده با اطلاعات اشکالزدایی ارسال میشود، به این معنی که نتایج بهصورت ایستا پیوند داده شده شامل اطلاعات اشکالزدایی از کتابخانه استاندارد میشود، حتی اگر کامپایل محلی صریحاً اطلاعات اشکالزدایی را درخواست نکرده باشد.
در نهایت، Clippy در Rust 1.77 یک پرده جدید به نام incompatible_msrv
اضافه میکند، که به کاربران میگوید آیا عملکردی که به آن ارجاع داده میشود فقط در نسخههای جدیدتر از حداقل نسخه پشتیبانی شده Rust در دسترس است.
Rust 1.77 پس از انتشار ماه گذشته Rust 1.76 که دارای بهروزرسانیهای سازگاری ABI بود.
پست های مرتبط
Rust پشتیبانی از C-string literals را اضافه می کند
Rust پشتیبانی از C-string literals را اضافه می کند
Rust پشتیبانی از C-string literals را اضافه می کند