
Rust 1.100.0 שוחררה עם never type, allocator API ושינויים ב-Cargo
Rust 1.100.0 זמינה דרך rustup ומייצבת את never type, חלקים מ-core allocator API, core::mem::DropGuard, אזהרות תלותים לא בשימוש ב-Cargo, שינויי מטמון בנייה ופתרון גיל פרסום מינימלי.
Rust 1.100.0 זמינה דרך rustup update stable. הגרסה מייצבת את never type, חלקים מ-core allocator API, core::mem::DropGuard, core::mem::conjure_zst, וכמה תכונות של Cargo, כולל דיווח על תלותים לא בשימוש, שינויי פריסת תיקיית הבנייה ובדיקות גיל פרסום מינימלי.
never type מגיע ליציבות
לאחר 10 שנים וחמש ניסיונות ייצוב שנכשלו, never type, שנכתב !, יציב. זהו הטיפוס הלא-מיושב הקנוני לחישובים שאינם מסתיימים בערך, וניתן לכפות (coerce) אותו לכל טיפוס אחר. גרסה זו גם מאפשרת מתן שם ל-! בכל מקום, כולל Result
Allocator API ו-DropGuard
Rust 1.100.0 מייצבת חלקים מרכזיים של allocator_api, ומאפשרת מקצי זיכרון מותאמים אישית דרך ה-Allocator trait עם Vec ו-Box. הגרסה גם מציגה את core::mem::DropGuard, שמריץ closure כאשר הוא מושלך (dropped), ותומך ב-dismiss כדי להחזיר את המשתנה המוגן בלי להריץ את ה-destructor. core::mem::conjure_zst מספקת דרך unsafe ייעודית ליצירת ערכים של טיפוסים בגודל אפס.
שיפורים ב-Cargo
Cargo מדווחת על תלותים לא בשימוש, הנשלטים על ידי טבלת [lints.cargo], עם אזהרות שמופיעות כאשר כל היעדים האפשריים לבנייה נבנים. לא מוצגת אזהרה על dev-dependencies לא בשימוש. תיקיית הבנייה מחילה כעת באופן עקבי את ה-hash של תצורת הבנייה: היא מארגנת את התיקיות לפי שלבי בנייה ומעבירה את ה-hash לתיקיית האב. Cargo מייצבת גם את פתרון גיל הפרסום המינימלי, ומאפשרת למשתמשים להגדיר global-min-publish-age ב-.cargo/config.toml ולדלג על גרסאות שפורסמו לאחרונה יותר מהגיל המוגדר. cargo install מתעלמת מההגדרה הן עבור ה-crate המותקן והן עבור התלותים שלו.
APIs מיוצבים ושינויים אחרים
הגרסה מוסיפה APIs מיוצבים, ובהם Box::new_in, Vec::new_in, Child::main_thread_handle, bool::toggle, Box::take, Box::map, Rc::map, Arc::map, עזרים trim של str ו-slice, Path::trim_prefix, Vec::from_fn ואחרים המפורטים בהערות הגרסה. השינויים ב-Rust, Cargo ו-Clippy מתועדים בנפרד, וצוות Rust הודה לתורמים.
מקורות: blog.rust-lang.org
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.