LINUX.ORG.RU

Rust 1.36

 


1

9

Команда разработчиков с радостью представляет вам Rust 1.36!

Что нового в Rust 1.36? Стабилизирован трейт Future, из нового: крейт alloc, MaybeUninit<T>, NLL для Rust 2015, новая реализация HashMap<K, V> и новый флаг --offline для Cargo.

А теперь подробнее:

  • В Rust 1.36 наконец-то стабилизировали трейт Future.
  • Крейт alloc.
    Начиная с Rust 1.36, части std, которые зависят от глобального аллокатора (например, Vec<T>), находятся в крейте alloc. Теперь std реэкспортирует эти части. Больше об этом.
  • MaybeUninit<T> вместо mem::uninitialized.
    В предыдущих релизах mem::uninitialized позволяла вам обходить проверку инициализации, использовалось это для ленивой аллокации массивов, но эта функция довольно-таки опасна (подробнее), поэтому был стабилизирован тип MaybeUninit<T>, который безопаснее.
    Ну и так как MaybeUninit<T> является более безопасной альтернативой, то, начиная с Rust 1.38, mem::uninitialized будет являться устаревшей функцией.
    Если хотите больше узнать про неинициализированную память, можете прочесть запись в блоге (Alexis Beingessner).
  • NLL для Rust 2015.
    В анонсе Rust 1.31.0 разработчики рассказывали нам о NLL (Non-Lexical Lifetime), улучшении для языка, которое делает borrow checker умнее и более дружелюбнее к пользователю. Пример:
    fn main() {
        let mut x = 5;
        let y = &x;
        let z = &mut x; // This was not allowed before 1.31.0.
    }
    
    В 1.31.0 NLL работал только в Rust 2018, с обещанием, что разработчики добавят поддержку и в Rust 2015.
    Если хотите больше узнать про NLL, можете прочитать больше в этой записи в блоге (Felix Klocks).
  • Новый флаг для Cargo - --ofline.
    В Rust 1.36 стабилизировали новый флаг для Cargo. Флаг --offline говорит Cargo использовать локально кешированные зависимости, для того, чтобы позже их можно было использовать без интернета. Когда нужные зависимости не доступны оффлайн, и если интернет все-таки нужен, то Cargo вернет ошибку. Для того, чтобы предварительно скачать зависимости, можно использовать команду cargo fetch, которая скачает все зависимости.
  • Здесь вы можете прочитать более детальный обзор изменений.

Также есть и изменения в стандартной библиотеке:

Другие изменения Rust, Cargo и Clippy.

>>> Подробности

★★★

Проверено: Shaman007 ()
Последнее исправление: Virtuos86 (всего исправлений: 4)
Ответ на: комментарий от htower_

Пару страниц с «ненужно» уже удалили.

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

Дак а толку, моей критики раст-адепты боятся как огня. Её выпиливают везде, даже на хабре. Они любят пропускать спам всяких клоунов, которые никак навредить не могут. Мои же посты они выпилят через пол часа.

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

Мне сложно это сделать. Во-первых это нужно много времени. Во-вторых я не могу физически делать говно. Я могу там текста говна в комментах писать, хотя даже они умножают на ноль любые раст-потуги. Т.е. если и выпускать блог, то писать там действительно царский контент, но слишком долго это делать. Пока некогда. Но я занимаюсь этим потихоньку.

К тому же, нужно понимать, что основная ЦА ничего не понимает. Я уж думал, что ладно лор - тут одни дошколята, но пописав на хабре я понял где реальные дошколята.

Особенно сильно меня разочаровал антошка(либо кто он там), который у С++-хомячков стал какой-то иконой на хабре. Но после того как я поспорил с этим клоуном(его эпичный обсёр на тему кешей ещё валяется на хабре) и почитал его потуги - я понял, что даже в С++-сегменте(публичном) ЦА попросту нет.

Т.е. я не имею ЦА. Люди попросту не знают ни си, ни С++. Я им не смогу понятно объяснить разницу без этих знаний. Самое интересное, что пропаганда там настолько сильно им мозг промывает, что даже прям тысячи примеров, часы объяснений не дают эффекта.

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

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

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

Дык вроде ЛОР самый продвинутый из руснета, это ж просто по уровню тем легко определять.

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

В мире нет достаточно продвинутых сообществ, чтобы понять всю мудрость этой критики.

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

Особенно сильно меня разочаровал антошка(либо кто он там), который у С++-хомячков стал какой-то иконой на хабре. Но после того как я поспорил с этим клоуном(его эпичный обсёр на тему кешей ещё валяется на хабре) и почитал его потуги - я понял, что даже в С++-сегменте(публичном) ЦА попросту нет.

А можно ссылку?

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

моей критики раст-адепты боятся как огня.

ЧСВ распухло? Удалял лично я поливание помоями. И дальше буду удалять. Будешь вести себя в рамках правил и приличий - посты будут оставаться на месте, я гарантирую это.

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

ЧСВ распухло?

Это объективная реальность. Хочешь поспорить? Ты, по моему, уже пытался со мною спорить и продержался пару постов, а потом начал тереть.

Вы пользуетесь тем, что никто ничего не видит, никто ничего не знает. На это вы и рассчитываете.

Методичка у вас одна на всех. Это как раст-сектанты пытаются табунами меня минусовать, что-бы я не мог отвечать. Угрожают наскоками, а потом «это не мы, мы то ничего».

Удалял лично я поливание помоями.

Зачем врёшь? Я уже приводил тысячи примеров ещё больше «поливания помоями» - где ты был? Поливали говном меня - где ты был? Как я выше уже говорил, мы вроде как обсуждали это. А потом твои гарантии куда-то делись. Ну ничего. Затёр и будто бы не было.

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

Ты страх путаешь с раздражением. Твое вайтишное мировосприятие уровня менеджера по продажам софта всех порядком уже задолбало, вот и всё. Называть воровством целевое использование LLVM — это сверхразум.

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

Опять бот нёсёт херню игнорируя мои тезисы. Целевое использование бубунты - стряпать новые дистры. Значит - попов не вор. Целевое использование машины - ехать. Значит, угнать машину - это не воровство.

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

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

Ты, по моему, уже пытался со мною спорить и продержался пару постов, а потом начал тереть.

Нет, ты ошибаешься.

Методичка у вас одна на всех.

С паранойей - в психдиспансер и принять таблеточки, пожалуйста.

Я уже приводил тысячи примеров ещё больше «поливания помоями» - где ты был? Поливали говном меня - где ты был?

Я не читаю ЛОР насквозь. И никто из модераторов не читает. Есть претензии - есть спецтема, на которую в т.ч. я подписан и оперативно реагирую.

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

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

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

Вот досада будет если создатели llvm, на определенном этапе жизни проекта, сочтут что можно продолжить его разработку на rust :3 (спойлер: вряд ли такое когда-либо будет, разве что частично)

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

Твои вайтишно-параноидальные тезисы не меняются со времен твоего первого появления в растотредах

Это вы раст-сектанты, неменяетесь

их даже читать не нужно

А зачем ты их читаешь тогда?

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

Откуда ты знаешь, что у него в голове? Знать ты не можешь, а значит ты уже несешь бред.

Ничего нового же, скучно.

Да раст ничего нового привнести не может. Он может только украсть и нагородить кучу муссора, и выдать это за новый недоязычёк. Ваш раст, даже до BASIC'а не дорос

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

Мы можем опять поиграть в это

Мы, Николай Второй?

Откуда ты знаешь, что у него в голове?

Тяжёлая симптоматика, опять без таблеток.

Пожалуй, закрою тред от анонимов.

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

Представляю ситуацию. Человек Х вызывает скорую, говорит «тут человека надо забрать в дурку». Приезжают санитары «кого забирать?». Х: «смотрите, здесь аноним на форуме пишет такой бред, но чтобы понять, что это бред, надо быть компетентным разработчиком ПО». Санитары: «о, а вам мерещатся люди, заберём-ка вас на обследование».

Я к тому, что никакие посты никакого человека на форуме не приблизят его к дурке. Если это не посты про личные или социальные проблемы.

Даже если человек всерьёз хочет писать всю системщину на пыхе в глазах санитаров он полностью здоров пока не нарушает дисциплину ИРЛ.

Вон нашлись где-то люди, которые хотят писать под ардуино и подобное не на сишке, а на js. Казалось бы, повод звать санитаров «тут реалтайм драйвера на js пишут». Но всем пох. Главное - дисциплина ИРЛ.

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

С большой вероятностью царь и irl такой же шизик.

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

Rust

экспертное мнение от @Eddy_Em

Очевидный п.19 офтопик-листа.

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

Вон нашлись где-то люди, которые хотят писать под ардуино и подобное не на сишке, а на js. Казалось бы, повод звать санитаров «тут реалтайм драйвера на js пишут». Но всем пох. Главное - дисциплина ИРЛ.

JS JS рознь. Мы же разным диалектам лиспа не удивляемся? Синтаксически — да, есть стандартные конструкции. По рантайму же это всё «две большие разницы». Типичный писака под веб или ноду, посади его за такой рантайм вроде Искры или даже десктопный Gjs, скажет «куда я попал и где мои вещи?» И правильно, между прочим, скажет. Знание синтаксиса в данном случае — даже не 5% успеха.

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

Знание синтаксиса в данном случае — даже не 5% успеха.

Тогда тем более, раз 95% сложности - в предметной области, а не в ЯП, тем более непонятен отказ от сишки со множеством наработок, соглашений, сниппетов... в пользу других ЯП. В контексте железа, которое на порядки слабее 1-й малинки.

P.S. Сам я далеко не сишник. Люблю заниматься только прикладухой.

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

Раз 95% сложности — в предметной области, то вполне логично использовать ЯП, позволяющий лучше концентрироваться на предметной области, не отвлекаясь на всякую дичь вроде указателей и маллоков.

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

не отвлекаясь на всякую дичь вроде указателей и маллоков

Это когда железо позволяет запускать ОС. А если вызывать malloc физически невозможно, вся память выделена сразу, libc вообще отсутствует? От языка нужны ветвления, циклы и удобная работа с побитовыми операциями. Что если предметная область находится не «выше», а «ниже» маллоков?

Существуют ли программы, которые работают на голом железе без ОС и разработчики «не отвлекаются на всякую дичь вроде указателей и маллоков»?

А малинка с полноценным линуксом - на много порядков мощнее, можно спокойно пускать node.js.

Я считаю, что js-у место только в прикладухе, где можно не «считать байтики». А раст изначально проектировался под системщину в том числе.

P.S. Когда-то надо будет сесть и ознакомиться с растом ради общего развития. Хотя интуиция подсказывает, что мне не понравится. Зато смогу часть растовых фич «портировать» на мой код на других ЯП. И как только началось обсуждение js-а в новости про раст? Ведь у них разная ЦА.

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

Существуют ли программы, которые работают на голом железе без ОС и разработчики «не отвлекаются на всякую дичь вроде указателей и маллоков»?

Существуют. https://github.com/hackndev/zinc/blob/master/examples/blink_stm32f1/src/main.rs

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

Такие простые во всех смыслах программы являются простыми на любом нормальном ЯП. Продвинутые фишки раста и прочих «не си» раскрываются в больших проектах, а не в таких малютках. И вообще, тот вопрос против js-а в «низком уровне», который не проектировался для этого. А раст изначально пилился в том числе под такие вещи.

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