ทีมพัฒนารู้สึกตื่นเต้นที่จะเปิดตัว Rust 1.36!

มีอะไรใหม่ใน Rust 1.36?
ลักษณะอนาคตได้รับความเสถียร จากอันใหม่: crate alloc, MaybeUninit, NLL สำหรับสนิม 2015การใช้งานใหม่ของ HashMap และการตั้งค่าสถานะใหม่ - ออฟไลน์สำหรับ Cargo


และตอนนี้ในรายละเอียดเพิ่มเติม:

  • ในที่สุดใน Rust 1.36 มีเสถียรภาพ ลักษณะอนาคต
  • ลังจัดสรร
    ตั้งแต่ Rust 1.36 บางส่วนของ std ที่ขึ้นอยู่กับตัวจัดสรรส่วนกลาง (เช่น Vec) จะอยู่ในลังการจัดสรร ตอนนี้ std จะส่งออกชิ้นส่วนเหล่านี้อีกครั้ง เพิ่มเติมเกี่ยวกับเรื่องนี้.
  • MaybeUninit แทนที่จะเป็น mem::uninitialized
    ในรีลีสก่อนหน้านี้ mem::uninitialized อนุญาตให้คุณข้ามการตรวจสอบการเริ่มต้น ซึ่งใช้สำหรับการจัดสรรอาร์เรย์แบบขี้เกียจ แต่ฟังก์ชันนี้ค่อนข้างอันตราย (ขึ้น) ดังนั้นประเภท MaybeUninit จึงเสถียร ซึ่งปลอดภัยกว่า
    เนื่องจาก MaybeUninit เป็นทางเลือกที่ปลอดภัยกว่า เริ่มต้นด้วย Rust 1.38 ดังนั้น mem::uninitialized จะเป็นฟังก์ชันที่เลิกใช้แล้ว
    หากคุณต้องการเรียนรู้เพิ่มเติมเกี่ยวกับหน่วยความจำที่ไม่ได้เตรียมใช้งาน คุณสามารถอ่านบล็อกโพสต์นี้โดย Alexis Beingessner
  • NLL สำหรับสนิม 2015
    ในการประกาศ สนิม 1.31.0 นักพัฒนาบอกเราเกี่ยวกับ NLL (Non-Lexical Lifetime) ซึ่งเป็นการปรับปรุงภาษาที่ทำให้ตัวตรวจสอบการยืมฉลาดขึ้นและใช้งานง่ายยิ่งขึ้น ตัวอย่าง:
    fnmain() {
    ให้ 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 ซึ่งจะดาวน์โหลดการขึ้นต่อกันทั้งหมด
  • ที่นี่ คุณสามารถอ่านภาพรวมโดยละเอียดเพิ่มเติมของการเปลี่ยนแปลงได้

นอกจากนี้ยังมีการเปลี่ยนแปลงในไลบรารีมาตรฐาน:

การเปลี่ยนแปลงอื่นๆ สนิม, สินค้า и Clippy.

ที่มา: linux.org.ru

เพิ่มความคิดเห็น