Rust 1.26 Добавляет Экзистенциальные Типы


Появилась новая версия Rust с поддержкой экзистенциальных типов через impl-trait; улучшена производительность и поддержка 128-битных целых чисел. В новом выпуске также улучшены привязки соответствия и поддержка шаблонов срезов.

 Rust изначально спонсировался Mozilla и был разработан, чтобы быть безопасным, быстрым и параллельным без сборщика мусора. Он использует инновационные средства для обеспечения безопасности системного программирования с помощью языка, построенного таким образом, чтобы проблемы могли быть обнаружены во время компиляции. Предполагаемое использование включает в себя встраивание в другие языки, написание программ с определенными требованиями к пространству и времени, а также написание кода низкого уровня, например драйверов устройств и операционных систем.

Улучшения производительности Rust 1.26 начинаются с открытия того, что в некоторых случаях глубоко вложенные типы были нелинейными, для чего было реализовано исправление. Разработчики сообщают о 12-процентном сокращении времени компиляции в результате этого изменения, а также о многих других небольших исправлениях, которые улучшили производительность компилятора.

Функция impl-trait-это та функция, о которой просили многие разработчики. Он позволяет создавать сигнатуры типов, которые не указывают тип возвращаемой функции, а только то, что она реализует определенный признак. Это отличается от объекта признака тем, что позволяет иметь абстрактные типы в возвращаемых значениях или в параметрах функции.Это полезно при закрытии, так как это означает, что вы можете написать такой код, который позволяет избежать бокса и динамической отправки:

// до

fn foo() -> Box i32> {

Коробка::новая(|x| x + 1)

}

// после

fn foo() -> impl Fn(i32) -> i32 {

|x| x + 1

}

Синтаксис инклюзивного диапазона теперь стабилен, что означает, что вы можете писать код, например, для x в 0..=10.

Также были добавлены основные шаблоны срезов. Они позволяют сопоставлять срезы так же, как и с другими типами данных.

Последнее изменение, которое стоит отметить,-это полное переписывание книги “Язык программирования Rust.” Разработчики говорят, что они многое узнали о том, как люди изучают ржавчину с тех пор, как была написана первая книга, и эта версия является улучшением во всех отношениях.


Добавить комментарий