Rust 1.69 Програмчлалын хэлний хувилбар

Mozilla төслөөс үүсгэн байгуулсан, гэхдээ одоо Rust Foundation бие даасан ашгийн бус байгууллагын ивээл дор бүтээгдсэн Rust 1.69 ерөнхий зориулалтын програмчлалын хэлний хувилбар хэвлэгдэн гарлаа. Энэ хэл нь санах ойн аюулгүй байдалд анхаарлаа хандуулж, хог цуглуулагч болон ажиллах хугацааг ашиглахаас зайлсхийхийн зэрэгцээ ажлын өндөр зэрэглэлд хүрэх арга хэрэгслийг өгдөг (ажиллах хугацаа нь стандарт номын сангийн үндсэн эхлүүлэх, засвар үйлчилгээ хүртэл багассан).

Rust-ийн санах ойтой харьцах аргууд нь хөгжүүлэгчийг заагчийг удирдах үед гарч болох алдаанаас аварч, санах ойг сулласны дараа санах ойн талбарт хандах, тэг заагчийг ялгах, буфер хэт ачаалах гэх мэт санах ойн доод түвшний боловсруулалтаас үүдэлтэй асуудлаас хамгаалдаг. Номын санг түгээх, бүтээн байгуулалтыг хангах, хамаарлыг удирдахын тулд төсөл нь Ачааны багц менежерийг боловсруулдаг. Crates.io репозиторыг номын санг байршуулахад дэмждэг.

Санах ойн аюулгүй байдлыг Rust-д хөрвүүлэх үед лавлагаа шалгах, объектын өмчлөлийг хянах, объектын ашиглалтын хугацааг (хамрах хүрээ) бүртгэх, кодыг гүйцэтгэх явцад санах ойд нэвтрэх зөв эсэхийг үнэлэх замаар хангадаг. Rust нь бүхэл тоон хэтрэхээс хамгаалж, ашиглахын өмнө хувьсагчийн утгыг заавал эхлүүлэхийг шаарддаг, стандарт номын сан дахь алдааг илүү сайн зохицуулдаг, өөрчлөгдөшгүй лавлагаа ба хувьсагчийн ойлголтыг анхдагчаар ашигладаг, логик алдааг багасгахын тулд хүчтэй статик бичвэрийг санал болгодог.

Гол инноваци:

  • Ачааны багцын менежер нь автоматаар шийдвэрлэх боломжтой сэрэмжлүүлгийг илрүүлж, "ачаа засах" эсвэл "ачааны хавчаар -засвар"-ыг ажиллуулахад тохирох зөвлөмжийг гаргадаг. анхааруулга: ашиглагдаагүй импорт: 'std::hash::Hash' —> src/main.rs:1:5 | 1 | std :: hash :: Hash ашиглах; | ^^^^^^^^^^^^^^^| = тэмдэглэл: '#[warn(unused_imports)]' нь анхдагчаар асаалттай анхааруулга: 'foo' (bin "foo") 1 анхааруулга үүсгэсэн ("cargo fix —bin "foo""-г ажиллуулж 1 зөвлөмжийг хэрэгжүүлнэ үү)
  • Cargo нь "cargo install" командыг ашиглан номын сан суулгахыг оролдох үед "cargo add" командыг ашиглах зөвлөмжийг нэмсэн.
  • Эмхэтгэх хугацааг багасгахын тулд анхдагчаар бүтээх скриптэд дибаг хийх мэдээллийг оруулахыг зогсоосон. Хэрэв бүтээх скриптүүд амжилттай ажиллаж байгаа бол өөрчлөлт нь харагдахуйц ямар ч ялгаа гарахгүй, гэхдээ алдаа гарвал буцаах дамп нь бага мэдээлэл агуулна. Хуучин үйлдлийг Cargo.toml руу буцаахын тулд та нэмэх хэрэгтэй: [profile.dev.build-override] дибаг = үнэн [profile.release.build-override] дибаг = үнэн
  • API-ийн шинэ хэсгийг тогтвортой гэсэн ангилалд шилжүүлж, шинж чанаруудын арга, хэрэгжилтийг тогтворжуулсан:
    • CStr::-аас_байтаас_нул хүртэл
    • core::ffi::FromBytesUntilNulError
  • Үүнийг тогтмолуудын оронд ямар ч нөхцөлд ашиглах боломжийг тодорхойлдог "const" шинж чанарыг дараах функцүүдэд ашигладаг.
    • SocketAddr :: шинэ
    • SocketAddr :: ip
    • SocketAddr :: порт
    • SocketAddr :: is_ipv4
    • SocketAddr :: is_ipv6
    • SocketAddrV4 :: шинэ
    • SocketAddrV4 :: ip
    • SocketAddrV4 :: порт
    • SocketAddrV6 :: шинэ
    • SocketAddrV6 :: ip
    • SocketAddrV6 :: порт
    • SocketAddrV6::flowinfo
    • SocketAddrV6::scope_id
  • Хөрвүүлэгчийн аргументуудад үнэн ба худал туг ашиглах чадварыг нэмсэн.

Эх сурвалж: opennet.ru

сэтгэгдэл нэмэх