Rust 1.51 เปิดตัว: Const Generics
(blog.rust-lang.org)ขอแนะนำ Rust 1.51 Rust คือภาษาโปรแกรมที่ช่วยให้ทุกคนสามารถเขียนซอฟต์แวร์ที่เชื่อถือได้และมีประสิทธิภาพ
Rust 1.51 เป็นรุ่นที่เพิ่มฟีเจอร์ใหญ่ ๆ อีกครั้งหลังจากผ่านมาสักพัก
Const Generics MVP
-
ก่อนหน้านี้ type สามารถมี lifetime หรือ type เป็นพารามิเตอร์ได้
-
สามารถนิยามโครงสร้าง
FixedArray<T>ที่มีฟิลด์[T; 32]ได้ -
แต่ยังไม่สามารถเขียนโค้ดแบบ generic สำหรับค่าอย่าง
Nใน[T; N]ได้ (ในที่นี้คือความยาวของอาร์เรย์) -
ตั้งแต่ Rust 1.51 เป็นต้นไป สามารถเขียนโค้ดแบบ generic สำหรับค่าจำนวนเต็ม ตัวอักษร และ boolean ได้แล้ว
-
ตอนนี้สามารถนิยามโครงสร้าง
Array<T, const LENGTH: usize>ที่มีฟิลด์[T; LENGTH]ได้ -
หากใช้
Array<u8, 32>คอมไพเลอร์จะสร้างArrayแบบ monomorphic ที่มีฟิลด์[u8; 32] -
ต่อจากนี้มีแผนจะอนุญาตให้ใช้ค่าคงที่ขณะคอมไพล์ได้มากขึ้นเป็น type parameter
การเปลี่ยนแปลงอื่น ๆ
-
เพิ่มความสามารถใหม่ใน Cargo
-
ลดเวลาในการคอมไพล์บน macOS ลงอย่างมาก (จากการเปลี่ยนวิธีจัดการข้อมูลดีบัก)
-
เพิ่ม by-value iterator API ที่ใช้ประโยชน์จาก const generics
ยังไม่มีความคิดเห็น