Руст развојни тим са задовољством најављује нову верзију свог језика: 1.35. Руст је програмски језик који вам омогућава да пишете поуздане и ефикасне програме.
Ако већ имате инсталиран Руст преко руступа, можете ажурирати командом:
$ руступ ажурирање стабилно
Главна ствар у ажурирању је имплементација карактеристика затварања Фн, ФнОнце, ФнМут, за Бок ,Бок ,Бок , редом. Додавање могућности за пребацивање затварања на показиваче на несигурне функције, позивање макроа дбг!() сада је могуће без аргумената, а стандардна библиотека је стабилизована.
За детаље:
- У новој верзији додали смо имплементације особина Фн, ФнОнце, ФнМут за Бок ,Бок ,Бок , редом.
Сада ће овај код радити:
фн фоо(к: Бок у8>) -> Вец {
вец![1, 2, 3, 4].инто_итер().мап(к).цоллецт()
}Такође можете позвати затварање директно из Бок-а :
фн фоо(к: Бок ) {
Икс()
} - Затварања се сада могу пребацити на показиваче на небезбедни фн.
Сада је овај код важећи:
/// Безбедносне инваријанте су оне прослеђеног показивача `небезбедног фн`.
небезбедно фн цалл_унсафе_фн_птр(ф: небезбедно фн()) {
ф()
}фн маин() {
// СИГУРНОСТ: Не постоје инваријанте.
// Затварање је статички спречено да ради небезбедне ствари.
несигурно {
цалл_унсафе_фн_птр(|| {
дбг!();
});
}
} - Додата могућност позивања дбг!() макроа без аргумената.
Ако проследите неки израз овом макроу, макро ће одштампати свој резултат. Пример:
фн маин() {
нека мут к = 0;иф дбг!(к == 1) {
к += 1;
}дбг!(к);
}Када покренете овај код видећете:
[срц/маин.рс:4] к == 1 = нетачно
[срц/маин.рс:8] к = 0Сада можете писати овако:
фн маин() {
нека услов = истина;ако услов {
дбг!();
}
}Када покренете овај код видећете:
[срц/маин.рс:5]
- Неки делови стандардне библиотеке су стабилизовани
- Нове методе за ф32 и ф64:
- ф32::цописигн
- ф64::цописигн
У ствари, функције копирају знак другог броја. Пример:
фн маин() {
ассерт_ек!(3.5_ф32.цописигн(-0.42), -3.5);
} - Додате нове методе за типове опсега
- Опсег::садржи
- РангеФром::цонтаинс
- РангеТо::цонтаинс
- РангеИнцлусиве::садржи
- РангеТоИнцлусиве::садржи
Помоћу ових метода можете лако да проверите да ли је одређена вредност у низу:
фн маин() {
иф (0..=10).цонтаинс(&5) {
принтлн!("Пет је укључено у нула до десет.");
}
} - Можете пронаћи комплетну листу стабилизованих АПИ-ја овде
- Нове методе за ф32 и ф64:
- У овом ажурирању, Цлиппи (ово је програм који проверава ваш код на много грешака) је додао нову проверу за дроп_боундс. Ова провера функционише када поставите ограничење: Т: Испусти - за генерализоване функције:
фн фоо (к:Т){}Имати Т: Ограничење испуштања је најчешће грешка, јер су неки типови одмах искључени, као што је у8. (Можете прочитати више о овоме овде)
- Много побољшања и поправки у Царго-у (менаџер језичких пакета), пуну листу измена
Извор: линук.орг.ру
