LINUX.ORG.RU
ФорумTalks

Rust 1.30

 , ,


1

5

Новая растишка, с кучей вкусных улучшений в макросах и в системе модулей!

А также стабилизировали #[panic_handler] для no_std и скоро уже можно будет писать ембеддед на стабле.

И наконец-то стабилизировали константы типа Ipv4Addr::{BROADCAST, LOCALHOST, UNSPECIFIED} для IP-адресов — мелочь, а не хватало.

И самое главное — сделали прогресбар в cargo! Лучший менеджер зависимостей стал ещё более лучшим! How exciting!

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



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

Ответ на: комментарий от Pacmu3ka

Ага, особенно постоянная зависимость на rustup, хотя дистры парятся и пакуют rust stable в свои пакеты. Которые по сути из-за контента crates - бесполезны

vertexua ★★★★★
()
Ответ на: guix vs. cargo от Camel

По каким параметрам предлагается их сравнивать? Кто-то собирает крэйты с помощью guix? Или системные пакеты с помощью cargo?

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

Пекадж манагемент из 90-х

Понятно, ентот ваш cargo типичный PM из 90-х, принципиально не отличающийся от deb, gem, egg и всех остальных.

Camel ★★★★★
()
Ответ на: guix vs. cargo от Camel

В Nix сделали функцию buildRustCrate, которая сама собирает пакеты вместо cargo. Каждый crate собирается как отдельная деривация, поэтому дедупликация между пакетами работает, как положено. Также есть тулза carnix — что-то типа guix import crate, только на самом деле работает, и получающиеся nix-файлы не используют cargo. Запилите и в GUIX такое.

Также, cargo сделано с умом, поэтому импортировать cargo-пакеты в другую систему сборки одно удовольствие. В отличие от питоньего ада, например.

Pacmu3ka
() автор топика

Отличная новость! И вкусноты завезли.

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

Благодарствую

Сразу видно понимающего человека.

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

https://www.rust-lang.org/en-US/friends.html

Из интересного, Ceph, Coursera, NPM, Dropbox, Canonical, Baidu, Bitfury, CoreOS, Cloudflare.

Вот видео как NPM репозиторий (тот самый), переписали на Rust https://www.youtube.com/watch?v=GCsxYAxw3JQ

Вот новость о Facebook https://www.theregister.co.uk/2016/10/18/facebook_mercurial_devs_forget_git/

Google нету в списке, но...

https://chromium.googlesource.com/chromiumos/platform/crosvm/ /master

;)

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

О, еще Deliveroo. Я их юзаю

Deliveroo : We are using Rust to quickly make assignment decisions in our food delivery network.

И те ребята что крутые ноуты делают

System76 : As a Linux-based computer-manufacture, much of our infrastructure and desktop Linux projects are written in Rust. From hardware certification, flashing, and imaging; to system services and GTK3 desktop applications.

vertexua ★★★★★
()
Последнее исправление: vertexua (всего исправлений: 1)
Ответ на: комментарий от Virtuos86
> pkg info rust
rust-1.30.0
Name           : rust
Version        : 1.30.0
Installed on   : Fri Oct 26 15:08:35 2018 +03
Origin         : lang/rust
Architecture   : FreeBSD:12:amd64
Prefix         : /usr/local
Categories     : lang
Licenses       : MIT, APACHE20
Maintainer     : rust@FreeBSD.org
WWW            : https://www.rust-lang.org/
Comment        : Language with a focus on memory safety and concurrency
Options        :
	DOCS           : off
	GDB            : off
	LLNEXTGEN      : off
	SOURCES        : off
Shared Libs required:
	libcurl.so.4
	libssh2.so.1
	libgit2.so.27
Annotations    :
	FreeBSD_version: 1200085
Flat size      : 298MiB
Description    :
Rust is an open-source systems programming language that runs blazingly
fast, prevents almost all crashes, and eliminates data races.
Some of its features:

  - Algebraic data types, type inference
  - Pattern matching and closures
  - Concurrency without data races
  - Guaranteed memory safety
  - Optional garbage collection
  - Zero-cost abstractions
  - Minimal runtime
  - Efficient C bindings

WWW: https://www.rust-lang.org/
iZEN ★★★★★
()
Ответ на: комментарий от vertexua

Из интересного, Ceph, Coursera, NPM, Dropbox, Canonical, Baidu, Bitfury, CoreOS, Cloudflare.

Ни о чём не говорит. Возникает вопрос: «Кто все эти люди?».

Вот видео как NPM репозиторий (тот самый), переписали на Rust

Не пользуюсь. Не интересно.

Google нету в списке

А должно?

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

Круто, чо. А у меня на линупсе рабоче-крестьянский rustup:

virtuos86@minas-itil ~/rust $ rustup show
Default host: x86_64-unknown-linux-gnu

installed toolchains
--------------------

stable-x86_64-unknown-linux-gnu
nightly-x86_64-unknown-linux-gnu (default)

active toolchain
----------------

nightly-x86_64-unknown-linux-gnu (default)
rustc 1.31.0-nightly (78ff609d7 2018-10-19)

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

Ни о чём не говорит. Возникает вопрос: «Кто все эти люди?».

Все с тобой понятно

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

Из интересного, Ceph, Coursera, NPM, Dropbox, Canonical, Baidu, Bitfury, CoreOS, Cloudflare.

Ни о чём не говорит. Возникает вопрос: «Кто все эти люди?».

Все эти люди — ноулайфы задроты из «мегакорпораций», которым кроме изучения/применения очередного очень нужного высера делать в жизни больше нечего. Так что спокойно, никому эта поделка не нужна ;)

Deleted
()

Ну прогрессбар это явный прорыв, теперь заживем!

Чо-та у embedded-wg притормозилась активность в трекере. И cortex-m-rtfm застыл. Там точно все в порядке со сроками по эмбедам?

Vit ★★★★★
()

Объясните недалекому: зачем им это?

Raw Identifiers You can now use keywords as identifiers with some new syntax:

// define a local variable named `for`
let r#for = true;

// define a function named `for`
fn r#for() {
    // ...
}

// call that function
r#for();

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

В 2018 edition вводят новые резервы на кейворды. Мало кто, но кто-то мог их юзать в 2015, костыль для соблюдения обратной совместимости.

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

Со сроками в принципе всё очень плохо глобально, их вечно просирают на больших нововведениях, неверно оценивая объем.

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

Вкратце: скоро выйдет Rust 2018 edition (текущая редакция — 2015 edition). Добавится кейворд catch. Также в будущем, естественно, могут добавиться еще какие-то кейворды. Допустим, есть (и будут) либы, написанные на Rust 2015 edition, которые используют в качестве идентификатора catch. Обновляемся до Rust 2018 ed. и не можем использовать описанный выше крэйт, потому что конпелятор выругается на использование кейворда не по назначению. А с помощью «сырого» идентификатора можно написать crate_2015_ed::r#catch(…), — и он поймет, что надо использовать crate_2015_ed::catch(…).

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

Это лирика. Меня интересует конкретно раст, будет за оставшиеся 2 месяца 2018 edition или его уже официально сдвинули.

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

текущая редакция — 2015 edition

Сейчас посмотрел: 1.30 это beta RC 2, пререлиз.

Virtuos86 ★★★★★
()

Лучший менеджер зависимостей стал ещё более лучшим!

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

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

Хм. Я пока полазал по репам, еще месяц назад они планировали релиз на 6 декабря https://github.com/rust-lang/rust/milestones

В ембедах как-то все больше в написание книжки ушли. Дело очень нужное, но смущает что несколько месяцев не апдейтится cortex-m-rtfm, причем без комментариев.

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

Как насчёт такого плана? Портировать Nix на Rust, а Cargo портировать на Nix. Cargo сам себя на Nix не портирует.

Pacmu3ka
() автор топика
Ответ на: комментарий от WatchCat

Зачем? Я собственными глазами вижу, что кроме как для сборки Mozilla Firefox и Thunderbird компилятор Rust больше нигде не используется. Сам язык сложен и неочевидна его надёжность. Нельзя найти надёжность, скрытую сложностью. Наоборот - чем проще, тем надёжнее. Это должно быть очевидно как «2+2=4» всегда, а не «4*», где «*» означает «не при всех условиях».

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

Я собственными глазами вижу,

Как? Пронзая пространство и время, сквозь горы и стены?

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

чем проще, тем надёжнее

Си намного надежнее Ada, видимо. Ага, удачи.

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

чем проще, тем надёжнее.

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

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

Главное верить в важность высера обозлённого малолетнего ноулайфера-задрота с ЛОРа.

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