Rust เป็นภาษาโปรแกรมคอมไพล์แบบหลายกระบวนทัศน์ วัตถุประสงค์ทั่วไป
Rust 1.78 เวอร์ชันใหม่เปิดตัวแล้วและ มีการนำคุณสมบัติใหม่มาใช้เช่นเดียวกับการรักษาเสถียรภาพของ API บางส่วน การปรับปรุง Cargo และอื่นๆ
สำหรับผู้ที่ไม่รู้จักภาษาโปรแกรมนี้ควรรู้ไว้ มุ่งเน้นไปที่ความปลอดภัยของหน่วยความจำและให้วิธีการบรรลุความขนานสูง ของงานในขณะที่หลีกเลี่ยงการใช้ตัวรวบรวมขยะและรันไทม์ (รันไทม์ลดลงเป็นการเริ่มต้นพื้นฐานและการบำรุงรักษาไลบรารีมาตรฐาน)
คุณสมบัติใหม่หลักของ Rust 1.78
ในเวอร์ชั่นใหม่นี้นำเสนอโดย Rust 1.78 ได้เพิ่มข้อกำหนดขั้นต่ำสำหรับ Windows 10, นอกเหนือจากนั้น คอมไพเลอร์ถูกเปลี่ยนให้ใช้ LLVM 18- เมื่อใช้ LLVM 18 สำหรับสถาปัตยกรรม x86-32 และ x86-64 ABI ที่เกี่ยวข้องกับประเภท u128 และ i128 มีการเปลี่ยนแปลง
เกี่ยวกับการเปลี่ยนแปลง ลักษณะหนึ่งที่โดดเด่นคือสนิม ตอนนี้รองรับเนมสเปซแอตทริบิวต์แล้ว «#[การวินิจฉัย]", อะไร จัดให้มีวิธีการมีอิทธิพลต่อข้อความแสดงข้อผิดพลาดที่เกิดขึ้น โดยคอมไพเลอร์ สิ่งเหล่านี้ถือเป็นการบอกเป็นนัยว่าไม่จำเป็นต้องใช้คอมไพเลอร์ และไม่ใช่ข้อผิดพลาดในการวินิจฉัยที่คอมไพเลอร์ไม่รู้จัก นี้ อนุญาตให้ซอร์สโค้ดทำการวินิจฉัยแม้ว่าคอมไพเลอร์บางตัวจะไม่รองรับก็ตามไม่ว่าจะเวอร์ชันต่างกันหรือการใช้งานต่างกันโดยสิ้นเชิง
นอกจากนี้ แคชส่วนกลางได้รับความเสถียรใน Cargo ซึ่งเก็บข้อมูลเกี่ยวกับการใช้ข้อมูลล่าสุด แคชนี้อยู่ใน $CARGO_HOME/.global-แคช และใช้ SQLite เพื่อนำไปใช้งาน โดยจะอัปเดตโดยอัตโนมัติเพื่อแสดงการเปลี่ยนแปลงล่าสุดในดัชนี, ลัง, ไดเร็กทอรีโค้ด, git clone และการชำระเงิน git ปรับปรุงประสิทธิภาพและความเร็วของการดำเนินการจัดการการพึ่งพาในโครงการพัฒนา
คุณสมบัติใหม่อีกอย่างของ Rust 1.78 ก็คือไลบรารีมาตรฐานของ Rust มี ข้อความต่างๆ สำหรับเงื่อนไขเบื้องต้นของฟังก์ชันที่ไม่ปลอดภัย ซึ่งตอนนี้สามารถเลื่อนออกไปได้จนกว่าจะมีการสร้างโค้ด ซึ่งจะทำให้สามารถดำเนินการตรวจสอบเหล่านี้ได้ ในอดีตพวกเขาเปิดใช้งานเฉพาะในรุ่นเท่านั้น «#[cfg(debug_assertions)]» เพื่อหลีกเลี่ยงผลกระทบต่อประสิทธิภาพในเวอร์ชันที่วางจำหน่าย ด้วยการเปลี่ยนแปลงนี้ ผู้ใช้สามารถตรวจพบพฤติกรรมที่ไม่ได้กำหนดในโค้ดของตนได้ แม้ว่ารายละเอียดเกี่ยวกับจำนวนการตรวจสอบโดยทั่วไปจะไม่เสถียรก็ตาม หากต้องการเปิดใช้งานการตรวจสอบ ก็เพียงพอแล้วที่จะเปิดใช้งานการยืนยันการแก้ไขข้อบกพร่องสำหรับการทดสอบหรือการสร้างการแก้ไขข้อบกพร่องของโค้ด
นอกจากนั้นตอนนี้ พฤติกรรมของฟังก์ชันไลบรารีมาตรฐาน ที่ส่งผลต่อการจัดตำแหน่งพอยน์เตอร์และเซกเตอร์ ขณะนี้สามารถคาดเดาได้ในขณะรันไทม์และขึ้นอยู่กับข้อมูลอินพุต ฟังก์ชั่น ตัวชี้::align_offsetซึ่งคำนวณค่าออฟเซ็ตเพื่อจัดตำแหน่งตัวชี้ให้กลับมา การใช้งาน::MAX เฉพาะในกรณีที่การดำเนินการล้มเหลว ฟังก์ชั่นต่างๆ ชิ้น::align_to และชิ้น::align_to_mutซึ่งแปลงสไลซ์เป็นการแทนด้วยสไลซ์ตรงกลางที่จัดชิดกันและสไลซ์เริ่มต้นและสิ้นสุดดั้งเดิม ในตอนนี้จะส่งคืนส่วนตรงกลางที่ใหญ่ที่สุดเสมอ
ในทางกลับกันก็มีการกล่าวเอาไว้ว่า API ต่อไปนี้ถูกย้ายไปยังหมวดหมู่ "เสถียร": impl อ่านสำหรับ &Stdin, impl จาก สำหรับ io::ข้อผิดพลาด และการนำไปปฏิบัติ นัย ซึ่งอนุญาตให้ใช้ ?ขนาด.
ของ การเปลี่ยนแปลงอื่น ๆ ที่โดดเด่น ของเวอร์ชันใหม่นี้:
- การสนับสนุนระดับที่สองสำหรับแพลตฟอร์มเป้าหมาย Add wasm32-wasip1 ได้ถูกนำมาใช้แล้ว การสนับสนุนระดับที่สองเกี่ยวข้องกับการรับประกันการประกอบ
- แพลตฟอร์ม wasm32-wasi-preview1-threads ได้รับการเปลี่ยนชื่อเป็น wasm32-wasip1-threads
- ในตัวจัดการแพ็คเกจ Cargo ไฟล์ล็อคเวอร์ชัน 4 (lockfile v4) ได้รับความเสถียร ขณะนี้ Cargo ใช้เวอร์ชันนี้เป็นมาตรฐานเพื่อให้มั่นใจว่าการจัดการการพึ่งพาระหว่างโครงการมีความสอดคล้องและมีประสิทธิภาพ
ถ้าคุณเป็น สนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับเรื่องนี้ คุณสามารถตรวจสอบรายละเอียดได้ใน ลิงค์ต่อไปนี้
สุดท้ายสำหรับผู้ที่เป็น สนใจที่จะอัพเกรดจากรุ่นก่อนหน้าของสนิม ติดตั้งผ่านสนิม คุณจะได้รับ Rust 1.78 เวอร์ชันใหม่ด้วย:
rustup update stable
หากคุณยังไม่ได้ติดตั้ง Rust บนระบบของคุณ คุณสามารถทำได้โดยการรันคำสั่งต่อไปนี้ในเทอร์มินัล:
curl --proto '=https' --tlsv1.3 https://sh.rustup.rs -sSf | sh