انواع LazyCell و LazyLock جدید Rust شروع اولیه داده های خود را تا اولین دسترسی به تاخیر می اندازند. الگوهای محدوده نیز در آخرین به روز رسانی زبان مورد توجه قرار می گیرند.
Rust 1.80، آخرین نسخه زبان برنامه نویسی پرطرفدار ایمن برای حافظه، منتشر شده است که دارای انواع “تنبل” برای به تاخیر انداختن مقداردهی اولیه داده ها تا اولین دسترسی آنها است.
Rust 1.80 در ۲۵ ژوئیه رونمایی شد. برنامهنویسانی که نسخه قبلی Rust را از طریق rustup
نصب کردهاند، میتوانند با اجرای $ rustup update stable
به نسخه ۱.۸۰ بهروزرسانی شوند.
انواع تنبل جدید LazyCell
و LazyLock
، که مقداردهی اولیه مقادیر را تا اولین دسترسی به تاخیر می اندازند، شبیه OnceCell< انواع /code> و
OnceLock
در Rust 1.70، اما با تابع مقداردهی اولیه موجود در سلول. این کار تثبیت عملکرد پذیرفته شده در کتابخانه استاندارد را از lazy_static
و once_cell
. LazyLock
گزینه ایمن برای رشته است که برای مکان هایی مانند مقادیر static
مناسب است. LazyCell
فاقد همگامسازی رشته است، بنابراین Sync
را که برای static
لازم است، اجرا نمیکند، اما همچنان میتواند در thread_local استفاده شود!< تیم Rust گفت: /code> statics.
همچنین در Rust 1.80، الگوهای محدوده اکنون می توانند از نقاط پایانی انحصاری استفاده کنند، نوشته شده a..b
یا ..b
مشابه با محدوده
و انواع عبارت RangeTo
. محدوده های انحصاری به عنوان یک ویژگی ناپایدار در Rust پیاده سازی شده بود. به گفته تیم Rust، نگرانی مسدودکننده این بود که ممکن است سردرگمی ایجاد کنند و احتمال خطاهای یکبهیک در الگوها را افزایش دهند. با Rust 1.80، بررسی جامع بودن برای تشخیص بهتر شکافها در تطابق الگو بهبود یافته است، و پرزهای جدید non_contiguous_range_endpoints
و overlapping_range_endpoints
به شناسایی مواردی که توسعهدهندگان ممکن است بخواهند الگوهای انحصاری را به آن تغییر دهند، کمک میکند. فراگیر، یا برعکس.
در Rust 1.79 rustc
یک --check-cfg
پرچم را تثبیت کرد. اکنون Cargo 1.80 این بررسیها را برای همه نامها و مقادیر cfg
که میداند (علاوه بر نام ها و مقادیر شناخته شده از rustc
). این شامل نامهای ویژگی از Cargo.toml
و همچنین خروجی cargo::rustc-check-cfg
جدید از اسکریپتهای ساخت میشود.
Rust 1.80 همچنین API های متعدد.
پست های مرتبط
Rust 1.80 انواع تنبل را اضافه می کند
Rust 1.80 انواع تنبل را اضافه می کند
Rust 1.80 انواع تنبل را اضافه می کند