The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Изначальное сообщение [ Отслеживать ]

"Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от opennews (?), 23-Янв-26, 00:05 
Опубликован релиз языка программирования  Rust 1.93, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки)...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=64660

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения [Сортировка по времени | RSS]


2. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +3 +/
Сообщение от Карлос Сношайтилис (ok), 23-Янв-26, 00:19 
Скромный релиз
Ответить | Правка | Наверх | Cообщить модератору

63. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +1 +/
Сообщение от Аноним (63), 23-Янв-26, 11:49 
Паскаль изначально умел безопасно работать с памятью.
Ответить | Правка | Наверх | Cообщить модератору

106. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (106), 23-Янв-26, 15:28 
И бэйсик.
И куча всего чего, и сейчас, работает безопасно с памятью.
Какие ещё инсайты будут?
Ответить | Правка | Наверх | Cообщить модератору

66. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +1 +/
Сообщение от Аноним (63), 23-Янв-26, 12:07 
Есть существенные подвижки:

"riscv64 ... второй уровень поддержки, который подразумевает гарантию сборки, но отсутствие гарантий при прохождении тестового набора"

отсутствие гарантий при прохождении тестового набора - это как так? Неужели компилятор может выдать неправильный код?

Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

68. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Анонимусс (?), 23-Янв-26, 12:35 
> отсутствие гарантий при прохождении тестового набора - это как так?

Просто тесты не гоняют.
А раз не гоняют, то "гарантий прохождении тестового набора" дать не могу.

> Неужели компилятор может выдать неправильный код?

Конечно.
В любом компиляторе (что в rustc, что в llvm, что в gcc) могут быть баги.
Вот напр:
  rustc - github.com/rust-embedded/wg/issues/361
  llvm - github.com/llvm/llvm-project/issues/176001
  gcc - github.com/riscvarchive/riscv-gcc/issues/378

> Неужели компилятор может выдать неправильный код?

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

Ответить | Правка | Наверх | Cообщить модератору

75. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (75), 23-Янв-26, 13:17 
>   gcc - github.com/riscvarchive/riscv-gcc/issues/378

Там и поинтереснее примеры были - сам фин ругался, т.к. ловили их уже в ядре:
https://lkml.org/lkml/2014/7/24/584
https://gcc.gnu.org/legacy-ml/gcc/2012-02/msg00027.html
https://gcc.gnu.org/legacy-ml/gcc/2009-11/msg00505.html

Ответить | Правка | Наверх | Cообщить модератору

95. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (63), 23-Янв-26, 14:35 
Если специалисты не могут написать компилятор без ошибок, как можно доверять высказываниям этих же спецов о "безопасной работе с памятью"?
Ответить | Правка | Наверх | Cообщить модератору

103. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +1 +/
Сообщение от Аноним (103), 23-Янв-26, 15:12 
Если врачи не научились лечить все виды рака, то давай твой аппендицит тоже оставим как есть?

Ошибки будут всегда.
Даже для верифиции кода используется программа в которой тоже могут быть ошибки.
Но каждый уровень добавляет проверки и уменьшает вероятность ошибки.

Ответить | Правка | Наверх | Cообщить модератору

86. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +2 +/
Сообщение от Аноним (86), 23-Янв-26, 13:50 
> Неужели компилятор может выдать неправильный код?

Зато безопастный.

Ответить | Правка | К родителю #66 | Наверх | Cообщить модератору

6. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  –3 +/
Сообщение от Аноним (6), 23-Янв-26, 00:30 
Чё там какие-нибудь подвижки по асинхронным генераторам? Сабж даже питон неспособен заменить из-за этого. Релизы ради релизов тоже странная практика, в прошлый раз пришлось 10 раз подряд скомпилировать тулчейн раста и буквально ничего полезного не добавили.
Ответить | Правка | Наверх | Cообщить модератору

12. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +1 +/
Сообщение от Аноним (12), 23-Янв-26, 00:41 
> Чё там какие-нибудь подвижки по асинхронным генераторам?

https://docs.rs/async-gen

> Сабж даже питон неспособен заменить из-за этого.

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

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

Очередной кексперт всё подряд компилирующий. Между прочим, официальные тулчейны с PGO собирают, а онанимы всё пытаются что-то кому-то доказать.

Ответить | Правка | Наверх | Cообщить модератору

16. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (6), 23-Янв-26, 01:54 
Ну, это костыли. Что это нигде? Асинхронный код использует не блокирующиеся интерфейсы ядра. То что находятся люди, до сих пор пишущие не масштабирующийся код с блокировками -- только их проблема. Программисты в курсе, где можно получить эффективное масштабирование с минимумом затрат.

Гил у питона не то чтобы проблема, если код действительно асинхронный (а не обёртка над синхронным, как большинство батареек, ну, конечно, лучше без него). Если, допустим, надо прочитать тысячу страниц в интернете за пару секунд, то всё вполне по красоте.

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

Ответить | Правка | Наверх | Cообщить модератору

60. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (60), 23-Янв-26, 11:28 
> Постоянно линковку ломают тоже, но это к llvm больше.

Багрепорт ты конечно же не отправил.

Ответить | Правка | Наверх | Cообщить модератору

24. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +1 +/
Сообщение от Карлос Сношайтилис (ok), 23-Янв-26, 03:02 
> Чё там какие-нибудь подвижки по асинхронным генераторам?

Нет, хватает того что есть

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

"Я три дня гналась за вами, чтобы сказать как вы мне безразличны!"

> и буквально ничего полезного не добавили

Для этого достаточно прочитать анонс. Буквально пара минут

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

25. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (6), 23-Янв-26, 03:06 
Кому хватает? Я конечно понимаю, что на расте программы не пишут, но всё же.
Ответить | Правка | Наверх | Cообщить модератору

61. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Fyjy (?), 23-Янв-26, 11:34 
Вот именно!
Ты даже не сказал какую ты программу пишешь, что тебе не хватает асинхронных генераторов, а сразу ныть начал.
А то складывается впечатление что никакую.
Ответить | Правка | Наверх | Cообщить модератору

62. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (6), 23-Янв-26, 11:45 
Любую, мне надо, чтобы треды 2x числа ядер исполнялись параллельно с минимумом затрат и асинхронные генераторы годятся для этого как нельзя лучше. Допустим, я хочу использовать io_uring.
Ответить | Правка | Наверх | Cообщить модератору

72. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (72), 23-Янв-26, 13:08 
Значит вы берёте язык с gil и рассказываете, как он подходит лучше чем rust?
>и асинхронные генераторы годятся для этого как нельзя лучше

Асинхронность - это одно единственное ядро.

Ответить | Правка | Наверх | Cообщить модератору

79. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (6), 23-Янв-26, 13:37 
Это кооперативная многозадачность и параллельное исполнение в первую очередь. Если это бизилуп, то ограничение 1 ядро, конечно. Но в таком случае экономия тредов и памяти остаётся. Прелесть такого кода в том, что ты добавляешь ядер и производительность автоматически масштабируется под доступные ресурсы.

Что до gil, проблема ортогональна. Главное преимущество это отсутствие блокировок и простота работы с подобной архитектурой.

Ответить | Правка | Наверх | Cообщить модератору

90. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (106), 23-Янв-26, 14:06 
Я не понимаю, ты сравниваешь асинк с питоне и асинк в расте или ты пытаешься продать нам асинхронный подход в принципе? Никто, в здравом уме, не будет спорить, что iobound задачи должны быть асинхронными.
Такое впечатление, что ты недавно познакомился с асинхронщиной в питоне и его сахар тебя очаровал.

> Но в таком случае экономия тредов и памяти остаётся

Потребление ресурсов cpu и ram увеличивается, асинк не бесплатен, тем более, если сравнивать асинк в питоне и расте.

Ответить | Правка | Наверх | Cообщить модератору

94. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (6), 23-Янв-26, 14:20 
Спасибо, я в курсе. В типичной программе абсолютно всё IO и генераторы это эффективная абстракция замечательно ложащаяся на асинхронность. Так почему бы не сравнивать? Какие у тебя с этим проблемы.
Ответить | Правка | Наверх | Cообщить модератору

104. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (106), 23-Янв-26, 15:15 
> IO и генераторы это эффективная абстракция

Зачем опять эта теория? Кто с тобой в этой части спорит?

> Какие у тебя с этим проблемы.

У меня нет, я сравнил, меня всё устраивает. Если кому-то нужен синтаксический сахар генераторов как в питоне, есть async-gen

> Так почему бы не сравнивать?

Что с чем?
Stateless конечный автомат в расте и stateful подход в питоне?
И что лучше, на твой взгляд?
И по какому критерию ты сравниваешь?

Ответить | Правка | Наверх | Cообщить модератору

108. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (6), 23-Янв-26, 15:29 
Я просто вижу, у тебя какие-то сложности с пониманием асинхронности. Вот я хочу создавать пулы обработчиков и бросать их на ивент луп, всё остальное меня не заботит. Если мне придётся вручную закатывать солнце, то зачем мне асинхронность? А ещё я вижу, что используются блокирующиеся интерфейсы и это очень субоптимально в плане менеджмента ресурсов. Ну и да, хочу писать без tokio.
Ответить | Правка | Наверх | Cообщить модератору

96. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (96), 23-Янв-26, 14:37 
Не обязательно. Вон в ноде рантайм - однопоточный, а ивент луп (который крутит вертит очередью выполнением тасков) - многопоточный.
Ответить | Правка | К родителю #72 | Наверх | Cообщить модератору

76. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (106), 23-Янв-26, 13:27 
> исполнялись параллельно ... асинхронные генераторы

Смешались в кучу люди, кони.
То параллельно, то асинхронно.


> с минимумом затрат

Минимум затрат со statefull асинхронностью в питоне?
Ты уж либо крестик сними...

Ответить | Правка | К родителю #62 | Наверх | Cообщить модератору

83. Скрыто модератором  +/
Сообщение от Аноним (6), 23-Янв-26, 13:42 
Ответить | Правка | Наверх | Cообщить модератору

84. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (6), 23-Янв-26, 13:44 
другой вариант это зелёные треды, т.е. stackless python и прочее, вот это уже затраты
Ответить | Правка | К родителю #76 | Наверх | Cообщить модератору

27. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (27), 23-Янв-26, 03:38 
>Чё там какие-нибудь подвижки по асинхронным генераторам?

А что это такое?

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

30. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от morphe (?), 23-Янв-26, 04:08 
> Чё там какие-нибудь подвижки по асинхронным генераторам? Сабж даже питон неспособен заменить из-за этого.

У тебя X-Y проблема, сначала скажи зачем они тебе нужны, и какие проблемы нельзя решить уже сейчас

У асинхронных генераторов есть сложности с правильным дизайном, в Rust подобные вещи не делают хуяк-хуяк, если бы делалось так - то Future так и требовали бы аллокации. Если есть желание решить вопросы с ними - то вперёд в RFC/issues, а пока есть https://docs.rs/async-gen/latest/async_gen/index.html который ничуть не костыль, а библиотечная реализация того же самого функционала, которая немногим хуже того что будет в самом Rust.

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

34. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Хрю (?), 23-Янв-26, 06:22 
>Сабж даже питон неспособен заменить

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

Ответить | Правка | К родителю #6 | Наверх | Cообщить модератору

13. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +2 +/
Сообщение от Аноним (13), 23-Янв-26, 01:07 
>asm!(

если это асм то о какой безопасной работе с памятью речь? а если там работа с памятью безопасная тогда какой это к чёрту асм...

Ответить | Правка | Наверх | Cообщить модератору

43. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Анонимусс (-), 23-Янв-26, 08:46 
> а если там работа с памятью безопасная тогда какой это к чёрту асм...

Жаль что вы не в курсе, что asm! можно использовать только в unsafe блоках.
Могу только предложить почитать доку перед тем как задавать вопросы doc.rust-lang.org/reference/inline-assembly.html

Ответить | Правка | Наверх | Cообщить модератору

48. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  –2 +/
Сообщение от КО (?), 23-Янв-26, 09:31 
Да в Ржавом каждый чих надо делать в unsafe блоках. Писать в union - safe, читать unsafe и т.п.
Ответить | Правка | Наверх | Cообщить модератору

55. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  –2 +/
Сообщение от Проходил мимо (?), 23-Янв-26, 10:10 
Если попробовать немного осмыслить ситуацию, то внезапно окажется что unsafe в union действительно необходим в силу его природы. Другое дело, что необходимость в самом union возникает ужасно редко.
Ответить | Правка | Наверх | Cообщить модератору

58. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +1 +/
Сообщение от КО (?), 23-Янв-26, 11:14 
Union это простая абстракция, которая нужна в первую очередь, когда надо меганакрученную структуру передать как набор байтиков, не заморачиваясь с ее логическими свойствами.
Но сделать компилятор, который проверяет каким образом ты инициализировал union (положим первым, а не вторым) и при этом считает, что читать тем же способом эти данные unsafe - явная лень создателей.
Ответить | Правка | Наверх | Cообщить модератору

70. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +1 +/
Сообщение от Анонимусс (?), 23-Янв-26, 12:48 
> проверяет каким образом

Вся суть юниона - не хранить как он был инициализирован.

> ты инициализировал union

А если это был не я?
А юнион прилетел из сторонней либы или вообще сишного кода?

> явная лень создателей.

Показали бы мастеркласс этим неучам и сделали бы как надо))

Ответить | Правка | Наверх | Cообщить модератору

71. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Проходил мимо (?), 23-Янв-26, 12:49 
Поясните пожалуйста, какой смысл вы вкладываете в слово "передать"?
Передать в функцию, передать по сети или еще что-то?
Ответить | Правка | К родителю #58 | Наверх | Cообщить модератору

74. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от КО (?), 23-Янв-26, 13:09 
По сети, в файлик, в функцию щифрования или проверки контрольной суммы - т.е. выполнить операции которым неважна логическая структура.
Ответить | Правка | Наверх | Cообщить модератору

59. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от КО (?), 23-Янв-26, 11:15 
И вообще вопрос привычки - чем чаще надо делать unsafe, тем меньше ты заморачиваешься с тем, а стоит ли делать safe.
Ответить | Правка | К родителю #55 | Наверх | Cообщить модератору

73. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (72), 23-Янв-26, 13:09 
Вы не сишник случаем? Зачем вам union, почему не взять ADT?
Ответить | Правка | К родителю #48 | Наверх | Cообщить модератору

98. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Проходил мимо (?), 23-Янв-26, 14:44 
Для Си-шника естественно было бы получить указатель на экземпляр структуры и ее размер при помощи sizeof(). Использование для этих целей union для Си-шника выглядит как несусветная дичь.
Попытка реализации этого подхода в Rust натыкается на сложности с приведением типа указателей.

PS Вообще же кидать в сеть бинарные структуры - это к потенциальному огребанию проблем.

Ответить | Правка | Наверх | Cообщить модератору

45. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Проходил мимо (?), 23-Янв-26, 09:16 
В Rust есть такое волшебное слово unsafe и где начинается unsafe - там заканчивается безопасность.
Предполагается, что пишущий unsafe блок программист знает и понимает, что делает. А если не знает - то это уже не проблема Rust-а.
Ответить | Правка | К родителю #13 | Наверх | Cообщить модератору

77. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (106), 23-Янв-26, 13:34 
> там заканчивается безопасность

Не заканчивается.
Все гарантии работают. Добавляется возможность операций с сырыми указателями, некорректное обращение с ними вызовет панику, а не поведение "мне повезёт", как в С/С++

Ответить | Правка | Наверх | Cообщить модератору

101. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (101), 23-Янв-26, 14:55 
>то это уже не проблема Rust-а.

а проблема пользователя

Ответить | Правка | К родителю #45 | Наверх | Cообщить модератору

14. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  –1 +/
Сообщение от Аноним (72), 23-Янв-26, 01:14 
Что почитать по теме управления памятью? Типа как устроена память в java, регионы и так далее, не про статические проверик, при этом не на уровне hello world
Ответить | Правка | Наверх | Cообщить модератору

19. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Rev (ok), 23-Янв-26, 02:18 
Тебя забанили в больших нейронках?
Ответить | Правка | Наверх | Cообщить модератору

39. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (39), 23-Янв-26, 07:23 
О, пользуясь случаем хотел бы спросить. Как бы мне сделать так, чтобы меня забанили в нейронках, больших и малых? Чтобы вот прям ни в каком виде им было нельзя со мной соприкасаться?
Ответить | Правка | Наверх | Cообщить модератору

52. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +1 +/
Сообщение от Аноним (52), 23-Янв-26, 09:56 
Уезжай жить в лес.
Ответить | Правка | Наверх | Cообщить модератору

107. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (107), 23-Янв-26, 15:28 
Отрезать интернет-кабель. Больше никак.
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

46. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (46), 23-Янв-26, 09:19 
Это в которых, что бы получить правильный детальный ответ надо знать этот ответ. Ибо пока не спросишь про конкретные исключения и конкретные детали он их даже ну упомянет и не упомянет их возможность существования. Типа догадайся, что такое может быть и спроси.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

53. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (52), 23-Янв-26, 09:57 
Это которыми ты не умеешь пользоваться.      
Ответить | Правка | Наверх | Cообщить модератору

100. Скрыто модератором  +/
Сообщение от Аноним (100), 23-Янв-26, 14:55 
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

20. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  –1 +/
Сообщение от Аноним (20), 23-Янв-26, 02:33 
>Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями и защищают от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей,

Это разве соответствует реальности? С указателями нету проблем, поскольку нету безопасных указателей. Есть ссылки и подсчет ссылок, но и обычный сборщик мусора тоже защищает от этих проблем.

> выход за границы буфера и т.п.

А как выход за границы защищен? Всегда таскают размер в ссылке, всегда делают проверку индекса, и если что не так, то паника?

Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Карлос Сношайтилис (ok), 23-Янв-26, 02:58 
> обычный сборщик мусора тоже защищает от этих проблем

А ещё он мусор собирает.
И пусть весь мир подождёт

> Всегда таскают размер в ссылке...?

Периодически.
Или в объекте.
И плюс кучка мелких оптимизаций

> и если что не так, то паника?

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

Ответить | Правка | Наверх | Cообщить модератору

57. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (72), 23-Янв-26, 10:37 
>А ещё он мусор собирает.
>И пусть весь мир подождёт

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

Ответить | Правка | Наверх | Cообщить модератору

81. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (106), 23-Янв-26, 13:39 
> в огромном количестве мест

Это огромное количество мест сейчас с нами, в одной комнате?

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

Ответить | Правка | Наверх | Cообщить модератору

28. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (27), 23-Янв-26, 03:44 
>Есть ссылки и подсчет ссылок, но и обычный сборщик мусора тоже защищает от этих проблем

Есть системные языки для которых сборщик мусора не нужен, принципиально.

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

50. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  –1 +/
Сообщение от КО (?), 23-Янв-26, 09:42 
Не "не нужен", а не подходит.
Ибо системному программисту в отличии от прикладного важно сколько времени отрабатывает, например, следующая конструкция языка:

}

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

Ответить | Правка | Наверх | Cообщить модератору

69. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (20), 23-Янв-26, 12:47 
>Есть системные языки для которых сборщик мусора не нужен, принципиально.

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

Ответить | Правка | К родителю #28 | Наверх | Cообщить модератору

93. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (106), 23-Янв-26, 14:15 
Время работы сборщика мусора недетерминировано, в отличии от подсчёта ссылок.
Это принципиальное различие, которое не позволяет называть подсчёт ссылок сборкой мусора.
Иначе можно сказать, что вызов free это тоже сборка мусора и это понятие потеряет всякий смысл.
Ответить | Правка | Наверх | Cообщить модератору

99. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от КО (?), 23-Янв-26, 14:50 
Сборка мусора через подсчет ссылок - это тоже сборка мусора.
И она так же недетерминирована - ибо высвобождение корня дрема может вызвать каскад высвобождений и далее понеслось.
Другое дело, что подсчет ссылок более менее тривиален для однопоточного приложения.

free - это управляемая программой сборка мусора.

Ответить | Правка | Наверх | Cообщить модератору

105. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (106), 23-Янв-26, 15:20 
> free - это управляемая программой сборка мусора.

Чем отличается понятие "сборка мусора" от "освобожение памяти"?

Ответить | Правка | Наверх | Cообщить модератору

49. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Проходил мимо (?), 23-Янв-26, 09:40 
По поводу выхода за границы буфера скажу так - можно написать паникующий код а можно такой, который будет эту ситуацию штатно разруливать. Вот пример паникующего кода:
//-----------------------------------------------
fn  main()
{
    //  Породим тестовый вектор
    let v: Vec::<u32> = Vec::from(&[1,2,3,4,5]);
    //  Индекс для доступа к элементам вектора
    let mut idx: usize = 0;
    println!("Попытка обращения к данным за границей буфера");
    while idx <= v.len()
    {
        println!("v[{}] = {}", idx, v[idx]);
        idx += 1;
    }
}
//-----------------------------------------------
Результат работы:
$ ./target/debug/rust_badindex
Попытка обращения к данным за границей буфера
v[0] = 1
v[1] = 2
v[2] = 3
v[3] = 4
v[4] = 5
thread 'main' panicked at src/main.rs:10:38:
index out of bounds: the len is 5 but the index is 5

А вот пример штатной обработки ситуации:
//-----------------------------------------------
fn  main()
{
    //  Породим тестовый вектор
    let v: Vec::<u32> = Vec::from(&[1,2,3,4,5]);
    //  Индекс для доступа к элементам вектора
    let mut idx: usize = 0;
    println!("Попытка обращения к данным за границей буфера");
    while idx <= v.len()
    {
        match   v.get(idx)
        {
            Some(n) => { println!("v[{}] = {}", idx, n); },
            None => { println!("Индекс за пределами вектора"); },
        }
        idx += 1;
    }
}
//-----------------------------------------------
Результат работы:
Попытка обращения к данным за границей буфера
v[0] = 1
v[1] = 2
v[2] = 3
v[3] = 4
v[4] = 5
Индекс за пределами вектора

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

85. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (85), 23-Янв-26, 13:44 

    {
        match   v.get(idx)
        {
            Some(n) => { println!("v[{}] = {}", idx, n); },
            None => { println!("Индекс за пределами вектора"); },

И как сий финт ушами по скорости? Этот "match" с несколькими значениями - сильно тяжелый цикл нагнет? По сравнению с if (i >= ARRAY_SIZE(x)) { // опчки, out of bounds }
Ответить | Правка | Наверх | Cообщить модератору

87. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от КО (?), 23-Янв-26, 13:51 
Если на то пошло, для немутирующих слайсов достаточно 1 раз проверить len(), чем в каждой итерации
Ответить | Правка | Наверх | Cообщить модератору

91. Скрыто модератором  +/
Сообщение от Аноним (-), 23-Янв-26, 14:06 
Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

102. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Проходил мимо (?), 23-Янв-26, 14:56 
Со скоростью там все нормально, сам по себе match - это что-то типа switch с очень расширенными возможностями, но при этом работает он очень быстро.

Вообще же, с точки зрения скорости у программ на Rust очень важен режим компиляции. По умолчанию компиляция идет в режиме для отладки и в таком вот виде программа может выполняться не очень быстро (по сравнению с кодом на чистом Си/Си++). Но вот когда собираешь ее с ключиком --release то все начинает просто летать. Прирост скорости, по ощущениям, гораздо выше, чем когда компилируешь программу на Си в режиме для отладки и в режиме максимальной оптимизации.

Ответить | Правка | К родителю #85 | Наверх | Cообщить модератору

51. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от КО (?), 23-Янв-26, 09:50 
>А как выход за границы защищен? Всегда таскают размер в ссылке, всегда делают проверку индекса, и если что не так, то паника?

Ну почему сразу паника? Можно и управляемо к делу подходить. :)

fn main() {
    union MyUnion {
      f1: [f32;2],
      f2: [f32;3]
    }

    const U : MyUnion = MyUnion { f2: [0.0,1.0,2.0] };


    for i in 0..=4 {
         print!(" {} ", i);
         let f1 = unsafe{U.f1};
         let f2 = unsafe{U.f2};
        
         println!("{:?}",  match f1.get(i) {
             Some(n) => n,
             None => match f2.get(i) {
             Some(_) => &f32::NAN,
             None => break
           }
         } );
    }
    
}

Ответить | Правка | К родителю #20 | Наверх | Cообщить модератору

92. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (92), 23-Янв-26, 14:10 
>             Some(n) => n,
>             None => match f2.get(i) {

УЖАС! В этом расте хотя бы ифы есть?

Ответить | Правка | Наверх | Cообщить модератору

97. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от КО (?), 23-Янв-26, 14:41 
С ифами и дурак напишет. :)
Ответить | Правка | Наверх | Cообщить модератору

21. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (21), 23-Янв-26, 02:49 
Новая итерация бутстрапа подъехала.
Ответить | Правка | Наверх | Cообщить модератору

23. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (23), 23-Янв-26, 03:02 
>В Rex-программах допускается использование подмножества языка Rust, предоставляющего гарантии безопасности.

unwrap допускается?
>легковесный Runtime

Прямо даже легче С?

Ответить | Правка | Наверх | Cообщить модератору

29. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  –1 +/
Сообщение от morphe (?), 23-Янв-26, 04:04 
> Прямо даже легче С?

Учитывая что у C есть только BPF со стрёмным верификатором и JIT - да

Ответить | Правка | Наверх | Cообщить модератору

82. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (85), 23-Янв-26, 13:41 
> Учитывая что у C есть только BPF со стрёмным верификатором и JIT - да

Я таки рантайм верификатору поверю больше чем каким-то гарантиям какого-то компилера - когда потом хаксор, извините, пропихнет asm! или что там вон те забудут или "забудут" - или просто бинарь хексэдитором пропатчит для обхода выдачи компилера - и любители гарантий удивленно так - "а что, так можно было?!". С eBPF то - и такое худо-бедно придушится верификатором. А с вон тем что?? Сразу бац и в кернелмод чтоли?

Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Имя (?), 23-Янв-26, 03:07 
Я разочарован полным отсутствием новых применений признака const в этом релизе.
Ответить | Правка | Наверх | Cообщить модератору

56. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (96), 23-Янв-26, 10:29 
Как раст в бэкендах по сравнению с гошечкой? Есть от раста вау-вау эффект по производительности?
Ответить | Правка | Наверх | Cообщить модератору

67. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  –1 +/
Сообщение от Аноним (67), 23-Янв-26, 12:20 
конечно есть, быстрее падает в паники и утекает память
Ответить | Правка | Наверх | Cообщить модератору

80. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (-), 23-Янв-26, 13:38 
> Как раст в бэкендах по сравнению с гошечкой? Есть от раста вау-вау эффект по производительности?

У гошечки GC видите ли. А это penalty и по производительности и по жору памяти. В этом смысле Rust скорее с C/C++ по скорости уместнее сравнивать.

Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

64. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  –1 +/
Сообщение от Аноним (63), 23-Янв-26, 11:59 
> Встроенная в поставку Rust стандартная си-библиотека Musl

Обёртки вокруг си генерировать научились, что ещё можно на расте сделать, кроме обёрток?

Ответить | Правка | Наверх | Cообщить модератору

89. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Facemakeremail (?), 23-Янв-26, 13:55 
Узнать об этом -- тебе в качестве домашнего задания.
Ответить | Правка | Наверх | Cообщить модератору

78. "Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0"  +/
Сообщение от Аноним (-), 23-Янв-26, 13:37 
> <[MaybeUninit<T>]>::write_copy_of_slice

Ну и выражовывания у этих типажей, я б сказал. Это они сишные фичи так коспелят по кривому?

Ответить | Правка | Наверх | Cообщить модератору

88. Скрыто модератором  –1 +/
Сообщение от Facemakeremail (?), 23-Янв-26, 13:55 
Ответить | Правка | Наверх | Cообщить модератору

109. Скрыто модератором  +/
Сообщение от Аноним (109), 23-Янв-26, 15:44 
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2026 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру