LINUX.ORG.RU

Rust 1.6

 ,


2

3

Команда разработчиков Rust рада представить первый в этом году релиз Rust — 1.6. Rust — это системный язык программирования, при разработке которого внимание сосредоточено на безопасности, скорости и параллелизме. Как обычно, вы можете установить Rust 1.6 с соответствующей страницы на официальном сайте, а также посмотреть примечания к выпуску на GitHub. Выпуск включает в себя около 1100 патчей и содержит ряд небольших улучшений, одно важное изменение, а также изменение на Crates.io.

Стабилизация libcore

Самым большим нововведением в 1.6 является стабилизация libcore. Стандартная библиотека Rust состоит из двух уровней: небольшая базовая библиотека libcore и полная стандартная библиотека libstd, которая построена на основе libcore. libcore является полностью платформонезависимой, и требует только горстку внешних функций. libstd строится на основе libcore, добавляя поддержку выделения памяти, операций ввода-вывода и параллелизма. При использовании Rust во встраиваемых средах и при написании операционных систем, разработчики часто избегают libstd, используя только libcore.

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

Стабилизации библиотеки

Около 30 библиотечных функций и методов теперь являются стабильными в 1.6. Заметные улучшения включают в себя:

  • Семейство функций drain() для коллекций. Эти методы позволяют перемещать элементы из коллекций, сохраняя память, в которой они размещены, тем самым снижая выделение памяти в некоторых ситуациях.
  • Ряд реализаций типажа From для конвертирования между типами стандартной библиотеки, в основном между целочисленными типами и числами с плавающей точкой.
  • Наконец, Vec::extend_from_slice(), ранее известный как push_all(). Этот метод существенно быстрее, чем более общий метод extend().

Crates.io запрещает использование масок в версиях зависимостей

Если вы являетесь мейнтейнером контейнера на Crates.io, возможно вы видели следующее предупреждение:

новые контейнеры более не могут использовать маски при описании зависимостей.

Другими словами, это запрещено:

[dependencies]
regex = "*"

Вместо этого вы должны указать конкретную версию или диапазон версий, используя одну из опций: ^, ~, или =.

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

>>> Официальный анонс

★★★★★

Проверено: Klymedy ()
Последнее исправление: Klymedy (всего исправлений: 6)

Ответ на: комментарий от shkolnick-kun

В моем списке из трех событий есть связь по ресурсам Мозиллы, например.

По каким ресурсам? Для разработки Rust Мозилла наняла Грейдона, появление нового оплачиваемого инженера было праздником едва ли не до начала 2015 года (дальше я перестал следить). При том, что денег у Мозиллы овердохрена.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

появление нового оплачиваемого инженера было праздником едва ли не до начала 2015 года (дальше я перестал следить).

Странно, но тут явно больше одного активного разраба, причем где-то с 2011 года.

При том, что денег у Мозиллы овердохрена.

И эти деньги главным образом дает сообщество, а совсем не гугл. А скакунов на майданах бабушки пирожками кормят, ага.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от tailgunner

https://ru.wikipedia.org/wiki/Mozilla_Thunderbird

В июле 2012 Mozilla Foundation заявила, что прекращает дальнейшую разработку Thunderbird как «нецелевого проекта»

Ой, вот это да!, оказывается мои три события произощли в течение 1 месяца, ну надо же, какое совпадение!

shkolnick-kun ★★★★★
()
Ответ на: комментарий от shkolnick-kun

появление нового оплачиваемого инженера было праздником едва ли не до начала 2015 года (дальше я перестал следить).

Странно, но тут явно больше одного активного разраба, причем где-то с 2011 года.

Странно, я нигде не утверждал, что Грейдон работал в одиночку. Кроме того, судя по Грейдону и Катаморфизму, это список контрибуторов за все годы.

И эти деньги главным образом дает сообщество, а совсем не гугл.

Да хоть инопланетяне. После того, как деньги дали Мозилле, это деньги Мозиллы.

А скакунов на майданах бабушки пирожками кормят, ага.

Так ты еще и маданозабоченный. Это многое объясняет...

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Нет, я озабочен, SURPRICEMOTHERFUCKER, будущим своих гипотетических детей, например.

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

shkolnick-kun ★★★★★
()
Ответ на: комментарий от tailgunner

Да хоть инопланетяне. После того, как деньги дали Мозилле, это деньги Мозиллы.

Лолище! Психология мелкого рашкованского мошенника: взял деньги и насрал дающему под дверь. Так дела не делаются, тылгунер. Финансирование всегда целевое, даже если замаскировано под донаты.

anonymous
()
Ответ на: комментарий от anonymous

Так дела не делаются, тылгунер

Ахренеть, деловые люди на моем ЛОРе.

Финансирование всегда целевое, даже если замаскировано под донаты.

Ой вей, и этот мелкий поц что-то имеет против психологии рашкованских мошенников.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

После того, как деньги дали Мозилле, это деньги Мозиллы.

Представим гипотетическую ситуацию:

1. Ты разрабатываешь несколько программных продуктов.

2. Тебя кормит некая могущественная корпорация, при этом она озвучивает некие условия, на которых ты получаешь эти деньги.

3. В один прекрасный момент эта самая корпорация говорит тебе: «Хватит заниматься продуктом А, займись продуктом Б, а то денег не дам!»

4. И тут ты такой гордый: «Чем хачу тем и занимаюся!!! Панятна!!!»

Странное поведение спонсируемого, не так ли?

shkolnick-kun ★★★★★
()
Ответ на: комментарий от tailgunner

Поздно уже.

Ну не могу я подолгу думать над расстановкой знаков препинания, темперамент не тот.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от shkolnick-kun

Представим гипотетическую ситуацию:

Давай ты подкрепишь свою гипотезу хоть какими-нибудь фактами. Например, количеством донатов Мозилле от Гугла, начиная с 2009 года (выпус Go) до настоящего времени; и перемещениях людей из команды Thunderbird в команду Rust.

Ну не могу я подолгу думать над расстановкой знаков препинания

Правильно писать слова тоже темперамент мешает? SURPRISE пишется через S.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от shkolnick-kun

4. И тут ты такой гордый: «Чем хачу тем и занимаюся!!! Панятна!!!»

а через 2 года мозилла отказывается продлевать соглашение с гуглом. совпадение? не думаю!

maloi ★★★★★
()
Ответ на: комментарий от anonymous

Кому то наверно нравится управлять памятью, а не решать задачу, мало ли.

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

maloi ★★★★★
()
Ответ на: комментарий от tailgunner

Куда уж релевантнее XD Перед тем, как корпорация оглашает некие результаты, обязательно происходит заседание совета директоров (ну, чтобы обсудить, как результаты правильно подать инвесторам).

Если пресс-релиз вышел 30 июня 2012, то собирались за несколько дней до этого, ну например 25 июня 2012.

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

Собствено основная функции BOD, - формирование «миссии», корпоративной стратегии, согласование стратегий дивизионов.

Так вот, в конце июня прошло заседание BOD, в июле закапывают ThunderBird, делают Rust системным, а в августе было это твое интервью...

Вот такие вот совпадения...

Причем фактов уже 4, и два из них сюда принес не я.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от shkolnick-kun

Куда уж релевантнее

Гораздо, гораздо релевантнее.

Перед тем, как корпорация оглашает некие результаты, обязательно происходит заседание совета директоров

Заседания совета директоров происходят гораздо чаще.

Так вот, в конце июня прошло заседание BOD, в июле закапывают ThunderBird

И что? Совпадение по датам, как с концом света.

делают Rust системным,

Not this shit again.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Мне вообще-то нравится огрызок C++11, который я сейчас использую. Но Hana...

То что ты привел - это минимум 2003-й год, Что легко гуглиться. C++11 тут приткнут вообще сбоку. Хотя на нем вполне можно сделать так:

  string s = switch_( a )(
      case_(int)    { "int" },
      case_(string) { "string" },
      default_      { "Otherwise" }
  );
anonymous
()
Ответ на: комментарий от anonymous

То что ты привел - это минимум 2003-й год

То, что я привел - цитата из официального туториала Hana. То, что привел ты - какой-то фрагмент кода, понятный только тебе.

tailgunner ★★★★★
()
Ответ на: комментарий от maloi

в 2011 продлевали срок договора на 3 года, а в 2014 не продлили.

Логично. План на трехлетку выполнили: почтовик закопали, разрабов разогнали или загрузили растом, репутацию подмочили. Теперь оно само дозреет и упадет.

anonymous
()
Ответ на: комментарий от shkolnick-kun

Обычная практика раз в квартал — раз в пол года, плюс ад хок, если что-то случилось.

Ну то есть гораздо чаще, чем раз в год. Ппросто из любопытства - сколько их было в 2012?

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Можно конечно смеяться над конспироложество

Но гораздо прикольнее в него верить - всё сразу становится понятно.

tailgunner ★★★★★
()
Ответ на: комментарий от anonymous

Забавно. К Мозиллке отношения не имеет скорее всего...

shkolnick-kun ★★★★★
()
Ответ на: комментарий от anonymous

А че! Технично так закапывали! Qt тоже закопали вместе с ноклой. В том смысле, что стали регулярно появляться релизы, ломающие обратную совместимость...

shkolnick-kun ★★★★★
()
Ответ на: комментарий от tailgunner

То, что я привел - цитата из официального туториала Hana.

Не имеет значения.

То, что привел ты - какой-то фрагмент кода, понятный только тебе.

http://cpptruths.blogspot.com/2014/05/fun-with-lambdas-c14-style-part-2.html

Тут есть готовая реализация, добавляешь макросы case_ и default_, чуть правишь match, и получаешь то, что я написал.

anonymous
()
Ответ на: комментарий от anonymous

http://cpptruths.blogspot.com/2014/05/fun-with-lambdas-c14-style-part-2.html

И что? Приведенный мной фрагмент не может быть «минимум 2003-м годом», поскольку содержит лямбды.

Тут есть готовая реализация

Не имеет значения.

tailgunner ★★★★★
()
Ответ на: комментарий от shkolnick-kun

Ой, вот это да!, оказывается мои три события произощли в течение 1 месяца,

А первого августа вышла восьмерочка ... вот это совпадение!

anonymous
()
Ответ на: комментарий от shkolnick-kun

В том смысле, что стали регулярно появляться релизы, ломающие обратную совместимость...

А что, гтк2 и гтк3 уже вдруг стали совместимы o_O

anonymous
()
Ответ на: комментарий от tailgunner

И что? Приведенный мной фрагмент не может быть «минимум 2003-м годом», поскольку содержит лямбды.

Я так и написал - в код просто приткнули лямбды от С++11. А оригинальная идея вот:

http://lists.boost.org/Archives/boost/2003/10/54774.php

anonymous
()
Ответ на: комментарий от DarkEld3r

о Go говорят, по моим ощущениям, куда больше

Наверное мы читаем разные новости. Как по мне, хайп вокруг go затих даже быстрее хайпа вокруг nodejs. Вот про rust даже на хабре проскакивает. А уж на лоре так вообще штаб-квартира его фанатов)

makoven ★★★★★
()
Ответ на: комментарий от ii8_

Не главное, но всё-таки... Синтаксис у языка — как лицо у женщины

I60R ★★
()
Ответ на: комментарий от makoven

А уж на лоре так вообще штаб-квартира его фанатов)

А сколько из них пишет на Rust код? Хотя бы джастфофан?

anonymous
()
Ответ на: комментарий от anonymous

тут у более взрослых языков типа шарпа проблемы с выходом из узкой ниши. просто потому что экосистема не сложилась

Ага, экосистема. Давно читал статью почему шарп г**но. Сначала мужик за пару часов, радостный, наваял програму (обратный отсчет до нового года). Принес к другу, за 15 минут до НГ хотел запустить, а она ему «Скачай .NET фреймворк»

Програмисты на jvm, .NET (, Python), пишут не програму, а сценарий для монструозного проигрывателя, который нужно таскать с собой, как 2 чемодана батареек. И так уж сложилось, что в винду встроен один проигрыватель (.NET), а в линукс - другой (python). И эти миры никогда не пересекутся

makoven ★★★★★
()
Ответ на: комментарий от makoven

Как по мне, хайп вокруг go затих даже быстрее хайпа вокруг nodejs.

На Go всё-таки (намного) активнее «реально используется» и это накладывает свой отпечаток. Чаще где-то проскакивает, больше статей и литературы.

Вот про rust даже на хабре проскакивает.

Ха. Gо - 192 публикации, раст - 69. И это про том, что расту частые «релизы» помогают количество новостей увеличить. Плюс несколько последних статей по расту - это какой-то детский сад. Про константы и про модули, например. Какой-то странный пересказ официальной документации.

На лоре, по моему, просто любят похоливарить, а молодой язык даёт отличную почву для этого - взлетит/не взлетит и т.д. Опять же, обсуждения, как правило, начинаются с банального «вышел раст N».

DarkEld3r ★★★★★
()
Ответ на: комментарий от DarkEld3r

Основные проблемы при изучении: везде очень много дискурса, и часто приводят примеры из других языков (особенно из крестов)

I60R ★★
()
Ответ на: комментарий от I60R

и часто приводят примеры из других языков (особенно из крестов)

Ну да, есть такое. Впрочем, если примеры знакомы, то разобраться даже проще. Не даром же, когда-то существовала отдельный туториал «Rust For Rubyists». Официальный мануал тоже эволюционирует, будет и нормальная литература.

DarkEld3r ★★★★★
()

эта теория заговора ИТТ

Мило. Но вот только го всегда был этаким Limbo без VM, а раст постоянно перепиливали на протяжении всего того времени, когда он был нестабилен.

quantum-troll ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.