Выпущен Rust 1.4

от автора

Честно по графику встречаем Rust 1.4. Релиз вобрал в себя 1200 патчей с момента последнего релиза. Основное внимание уделили стабилизации языка, а это уже серьёзный аргумент, в пользу того, что язык приобрёл понятные формы, синтаксис и стандартную библиотеку.

Это первый стабильный релиз, который идёт в двух ABI (Application Binary Interface), кроме привычного GNU toolchain добавлена поддержка MSVC. Последний доступен пока в 64-битной версии, но я пользовался 32-х битным в nightly версии намного раньше, хотя официальная поддержка намечена на версию 1.6. Как бонус: теперь корректно обрабатывается перенос строки в windows-стиле, например, в BufRead.

Из других особенностей:
Можно использовать псевдонимы в множественном импорте:

use foo::{bar as kitten, baz as puppy} 

Окончательно доломали:

pub extern crate 

Это хорошая новость, так как экспорт внутреннего крейта, как минимум нарушает закон Деметры. Если нужно использовать структуру внутреннего крейта, ещё лучше явно экспортировать. А зачем это вообще нужно?! Если вы используете с внешней библиотекой разные версии крейтов, и попробуете её «накормить» инородным типом (например, набор полей в структуре поменялся), то всё сломается.

Исправлены ошибки с (пример, пока не залили 1.4 можно увидеть разницу на Stable)

&'static mut 

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

Много изменений сделали в стандартной библиотеке. В основном по стабилизации, но есть некоторые улучшения, например, HashMap теперь реализует трейт Extend<T: Copy>. Ещё std::io::copy теперь умеет работать с типами, размер которых неизвестен при компиляции.

Cargo стал немного разговорчивее:

[cargo]$ cargo update     Updating registry `https://github.com/rust-lang/crates.io-index`     Updating libc v0.1.8 -> v0.1.10     Updating memchr v0.1.3 -> v0.1.5     Updating num v0.1.26 -> v0.1.27     Updating rand v0.3.9 -> v0.3.10     Updating rustc-serialize v0.3.15 -> v0.3.16 

Кстати, я обновляю зависимости своих проектов раз в неделю, и всегда появляется что-то новое, это приятно, чувствуешь, что сообщество Rust живёт и развивается, но главное, от этого больше ничего не ломается.

Следующий релиз намечен на 10 декабря 2015: в этом году Дед Мороз принесёт подарки программистам на Rust чуть раньше )

ссылка на оригинал статьи http://habrahabr.ru/post/269809/


Комментарии

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

Ваш адрес email не будет опубликован. Обязательные поля помечены *