การจัดการหน่วยความจำอัตโนมัติของ Rust ช่วยให้นักพัฒนาเป็นอิสระจากการจัดการพอยน์เตอร์ และป้องกันปัญหาที่เกิดจากการจัดการหน่วยความจำระดับต่ำ เช่น การเข้าถึงหน่วยความจำหลังจากว่าง การยกเลิกการอ้างอิงพอยน์เตอร์ null บัฟเฟอร์โอเวอร์รัน และอื่นๆ ที่คล้ายกัน ตัวจัดการแพ็คเกจกำลังได้รับการพัฒนาเพื่อแจกจ่ายไลบรารี ตรวจสอบการประกอบและจัดการการพึ่งพาโดยโปรเจ็กต์
หลัก
- ลักษณะ
FnOnce ,FnMut иFn นำไปใช้สำหรับการจัดสรรฮีปชนิดบรรจุกล่อง Box‹dyn FnOnce›, Box‹dyn FnMut› และ Box‹dyn Fn›; - เพิ่ม
โอกาส การหล่อปิดไปยังพอยน์เตอร์ฟังก์ชันที่ไม่ปลอดภัย (fn ที่ไม่ปลอดภัย); - ใช้ความสามารถในการเรียกมาโคร "dbg!" ไม่มีข้อโต้แย้งในการแสดงชื่อไฟล์และหมายเลขบรรทัดใน stderr โดยไม่ต้องตรวจสอบตัวแปรซึ่งสะดวกสำหรับการดีบักการทำงานของนิพจน์ตามเงื่อนไข
- เพิ่มวิธีการ " ให้กับประเภทจุดลอยตัว f32 และ f64
คัดลอก » เพื่อคัดลอกอักขระจากหมายเลขหนึ่งไปยังอีกหมายเลขหนึ่ง - เพิ่มวิธีการ "
มี “ ซึ่งช่วยให้คุณตรวจสอบว่าค่าที่ระบุอยู่ภายในช่วงหรือไม่ - เพิ่มวิธีการ
อ้างอิง:เซลล์:map_split ช่วยให้คุณสามารถสะท้อนและแยกค่า RefCell ที่ยืมมาสำหรับส่วนประกอบต่างๆ ของข้อมูลที่ยืมมา - เพิ่มวิธีการ
RefCell::replace_with เพื่อแทนที่ค่า RefCell ปัจจุบันและส่งกลับค่าเก่าเป็นผลลัพธ์ - เพิ่มวิธีการ
ptr::แฮช เพื่อแฮชตัวชี้หรือการอ้างอิงตามที่อยู่มากกว่าค่าที่อยู่ - เพิ่มวิธีการ
ตัวเลือก::คัดลอกแล้ว เพื่อคัดลอกเนื้อหาของตัวเลือก Option‹&T› หรือ Option‹&mut T› - ส่วนใหม่ของ API ได้ถูกถ่ายโอนไปยังหมวดหมู่ที่เสถียร รวมถึงวิธีการที่ได้รับความเสถียรด้วย
f32::copysign,
f64::copysign,
RefCell::replace_with,
RefCell::map_split,
ptr::แฮช
ช่วง::ประกอบด้วย
ช่วงจาก::มี
RangeTo::มี
RangeIncluded::มี,
RangeToInclude::contains และ
ตัวเลือก::คัดลอก; - เพิ่มการตรวจสอบ drop_bounds ไปที่ clippy (linter) ซึ่งจะถูกทริกเกอร์เมื่อเพิ่มการเชื่อมโยง "T: Drop" เข้ากับฟังก์ชัน
- คอมไพเลอร์ได้เพิ่มการรองรับแพลตฟอร์มเป้าหมายใหม่
wasm32-unknown-wasi (อินเทอร์เฟซวาสิ เพื่อใช้ WebAssembly นอกเบราว์เซอร์) - ชุดเครื่องมือ Rust ได้รับการดัดแปลงสำหรับการแจกแจงตาม Musl ไลบรารี C มาตรฐาน
ที่มา: opennet.ru