Rust 1.62 scaoileadh teanga cláir

Tá scaoileadh na teanga ríomhchláraithe ilchuspóireach Rust 1.62, a bhunaigh an tionscadal Mozilla, ach atá forbartha anois faoi choimirce na heagraíochta neamhspleách neamhbhrabúis Rust Foundation, foilsithe. Díríonn an teanga ar shábháilteacht chuimhne agus cuireann sé bealaí ar fáil chun comhthreomhaireacht ard poist a bhaint amach agus úsáid á baint as bailitheoir truflais agus am rite a sheachaint (laghdaítear am rite go buntúsú agus cothabháil na leabharlainne caighdeánach).

Sábhálann modhanna láimhseála cuimhne Rust an forbróir ó earráidí nuair a bhíonn leideanna á n-ionramháil agus cosnaíonn siad i gcoinne fadhbanna a thagann chun cinn mar gheall ar láimhseáil cuimhne ar leibhéal íseal, mar shampla rochtain a fháil ar limistéar cuimhne tar éis é a shaoradh, leideanna nialais a dhíroghnú, róchaiteachas maoláin, etc. Chun leabharlanna a dháileadh, tógáil a sholáthar agus spleáchais a bhainistiú, forbraíonn an tionscadal an bainisteoir pacáiste lasta. Tacaítear leis an stór crates.io chun leabharlanna a óstáil.

Cuirtear sábháilteacht chuimhne ar fáil i Rust ag am tiomsaithe trí sheiceáil tagartha, súil a choinneáil ar úinéireacht réad, súil a choinneáil ar shaolréanna réad (scóip), agus measúnú a dhéanamh ar cheart an rochtain chuimhne le linn fhorghníomhú an chóid. Soláthraíonn Rust cosaint freisin i gcoinne ró-shreabhadh slánuimhir, éilíonn túsú éigeantach luachanna athraitheacha roimh úsáid, láimhseálann sé earráidí níos fearr sa leabharlann caighdeánach, cuireann sé coincheap na dtagairtí agus na n-athróg do-athraithe i bhfeidhm de réir réamhshocraithe, cuireann clóscríobh statach láidir ar fáil chun earráidí loighciúla a íoslaghdú.

Príomh-nuálaíochtaí:

  • В пакетном менеджере «cargo» предложена команда «add», позволяющая из командной строки добавлять в манифест Cargo.toml новые зависимости или изменять имеющиеся зависимости. Команда также позволяет указывать отдельные свойства (feature) и версии, например: cargo add serde —features derive cargo add nom@5
  • Добавлена возможность использования «#[derive(Default)]» с перечислениями (enum), в которых при помощи атрибута «#[default]» определён вариант по умолчанию. #[derive(Default)] enum Maybe<T> { #[default] Nothing, Something(T), }
  • На платформе Linux задействована более компактная и быстрая реализация механизма синхронизации Mutex, основанная на применении фьютексов, предоставляемых ядром Linux. В отличие от ранее используемой реализации на базе библиотеки pthreads, для хранения состояния Mutex в новом варианте расходуется всего 5 байт вместо 40. Аналогично на futex переведены механизмы блокировок Condvar и RwLock.
  • Реализован второй уровень поддержки целевой платформы x86_64-unknown-none, предназначенной для формирования исполняемых файлов, способных работать без операционной системы. Например, указанная целевая платформа может использоваться при написании компонентов ядра. Второй уровень поддержки подразумевает гарантию сборки.
  • Реализован третий уровень поддержки для платформ aarch64-pc-windows-gnullvm и x86_64-pc-windows-gnullvm. Третий уровень подразумевает базовую поддержку, но без автоматизированного тестирования, публикации официальных сборок и проверки возможности сборки кода.
  • Aistríodh cuid nua den API chuig an gcatagóir de chobhsaí, lena n-áirítear modhanna agus cur i bhfeidhm na dtréithe a chobhsú:
    • bool::then_some
    • f32::total_cmp
    • f64::total_cmp
    • Stdin::lines
    • windows::CommandExt::raw_arg
    • impl<T: Default> значение по умолчанию для AssertUnwindSafe<T>
    • From<Rc<str>> for Rc
    • From<Arc<str>> для Arc<[u8]>
    • FusedIterator для EncodeWide

    Foinse: oscailtenet.ru

Add a comment