The OpenNET Project / Index page

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

Выпуск Rust 1.93. Проекты Rex, Fjall 3 и Arti 1.9.0

22.01.2026 22:53 (MSK)

Опубликован релиз языка программирования Rust 1.93, основанного проектом Mozilla, но ныне развиваемого под покровительством независимой некоммерческой организации Rust Foundation. Язык сфокусирован на безопасной работе с памятью и предоставляет средства для достижения высокого параллелизма выполнения заданий, при этом обходясь без использования сборщика мусора и runtime (runtime сводится к базовой инициализации и сопровождению стандартной библиотеки).

Методы работы с памятью в Rust нацелены на исключение ошибок при манипулировании указателями и защиту от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей, выход за границы буфера и т.п. Для распространения библиотек, обеспечения сборки и управления зависимостями проектом развивается пакетный менеджер Cargo. Для размещения библиотек поддерживается репозиторий crates.io.

Безопасная работа с памятью обеспечивается в Rust во время компиляции через проверку ссылок, отслеживание владения объектами, учёт времени жизни объектов (области видимости) и оценку корректности доступа к памяти во время выполнения кода. Rust также предоставляет средства для защиты от целочисленных переполнений, требует обязательной инициализации значений переменных перед использованием, лучше обрабатывает ошибки в стандартной библиотеке, применяет концепцию неизменяемости (immutable) ссылок и переменных по умолчанию, предлагает сильную статическую типизацию для минимизации логических ошибок.

Основные новшества:

  • Встроенная в поставку Rust стандартная си-библиотека Musl, используемая при статической компоновке для целевых платформ "*-linux-musl" (aarch64-unknown-linux-musl, x86_64-unknown-linux-musl, powerpc64le-unknown-linux-musl и т.п.) на системах без Musl, обновлена до версии 1.2.5. Минимально поддерживаемая версия Musl при динамической компоновке также поднята до выпуска 1.2.5. Ранее в Rust использовалась версия Musl 1.2.3, в которой имелись проблемы в реализации DNS-резолвера. В версии Musl 1.2.4 в DNS-резолвер была добавлена возможность отправки запроса по TCP в случае неудачного обращения по UDP, что решило проблему с запросом больших DNS-записей и наладило совместимость с рекурсивными DNS-серверами, не поддерживающими отдачу части результата в обрезанных UDP-ответах. В версии Musl 1.2.5 в DNS-резолвере реализована обработка ответов с длинными последовательностями CNAME и решена проблема, из-за которой отбрасывались некоторые большие ответы, передаваемые через TCP.
  • Стандартная библиотека переработана для решения проблем с реентерабельностью при использовании в глобальных аллокаторах памяти, написанных на Rust, макроса std::thread_local! и функции std::thread::current, приводивших к бесконечной рекурсии. Для исключения ситуации, когда std::thread_local! и std::thread::current при попытке выделения памяти вызывали тот же аллокатор в котором используются, в них теперь напрямую применяется системный механизм выделения памяти.
  • Внутри блоков "asm!" с ассемблерным кодом разрешено использование атрибутов "cfg", что, например, позволяет управлять задействованием расширенных наборов команд CPU в контексте отдельных выражений внутри asm-блока (ранее атрибуты "cfg" могли задаваться только для asm-блока целиком).
    
       asm!( // или global_asm! или naked_asm!
           "nop",
           #[cfg(target_feature = "sse2")]
           "nop",
           // ...
           #[cfg(target_feature = "sse2")]
           a = const 123, // only used on sse2
       );
    
  • В разряд стабильных переведена новая порция API, в том числе стабилизированы методы и реализации типажей:
  • Целевая платформа "riscv64a23-unknown-linux-gnu" переведена на второй уровень поддержки, который подразумевает гарантию сборки, но отсутствие гарантий при прохождении тестового набора.



Дополнительно можно отметить несколько связанных с Rust проектов:

  • Для ядра Linux развивается фреймворк Rex, позволяющий создавать дополнения для ядра Linux на языке Rust, которые можно использовать для расширения функциональности ядра вместо eBPF. Rex предоставляет те же гарантии безопасности, что и eBPF, но использует для изоляции и обеспечения безопасности возможности языка Rust и легковесный Runtime. Для подобных программ не применяется верификатор, а программы компилируются в нативный код компилятором Rust.

    В Rex-программах допускается использование подмножества языка Rust, предоставляющего гарантии безопасности. В текущем виде поддерживается 5 типов программ eBPF: kprobe, perf_event, tracepoint, xdp и tc. Имеется возможность вызывать вспомогательные функции eBPF, взаимодействовать с map-структурами eBPF, управлять ресурсами ядра, обрабатывать исключения и использовать обвязки и абстракции над структурами ядра.

  • Доступен выпуск Fjall 3, написанного на Rust встраиваемого хранилища, работающего с данными в формате ключ-значение. Хранение данных производится в форме лога c использованием LSM-дерева (Log-Structured-Merge), как в RocksDB, при котором изменения записываются через добавление данных в конец файла. Для обращения к БД предлагается API в стиле BTreeMap. Поддерживаются такие возможности, как пространства имён, прямой и обратный поиск по диапазонам, встроенное сжатие, сериализируемые транзакции, раздельное хранение ключей и связанных с ними очень больших значений, автоматическое фоновое обслуживание БД. Код открыт под лицензией Apache 2.0.
  • Проект Tor опубликовал выпуск Arti 1.9.0, реализации инструментария Tor, написанной на языке Rust. Когда код Arti достигнет уровня, способного полностью заменить вариант на Си, разработчики Tor намерены придать Arti статус основной реализации Tor и постепенно прекратить сопровождение реализации на Си. В новой версии продолжена реализация функциональности для релеев и серверов директорий (Directory Authority), улучшена поддержка работы с динамически назначаемыми портами (proxy.socks_listen = "auto"), добавлен экспериментальный API для управления ключами для onion-сервисов.


  1. Главная ссылка к новости (https://blog.rust-lang.org/202...)
  2. OpenNews: Проект Microsoft по использованию AI для перевода кодовой базы с C/C++ на Rust
  3. OpenNews: Уязвимость в Binder, подсистеме ядра Linux, написанной на Rust
  4. OpenNews: Выпуск uutils 0.5, варианта GNU Coreutils на языке Rust
  5. OpenNews: Выпуск Rust 1.92. Rust-проекты для GUI, sandbox-изоляции и создания прошивок
  6. OpenNews: Поддержка Rust переведена из экспериментальных в основные возможности ядра Linux
Лицензия: CC BY 3.0
Короткая ссылка: https://opennet.ru/64660-rust
Ключевые слова: rust, fjall, rex, arti
При перепечатке указание ссылки на opennet.ru обязательно


Обсуждение (136) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.2, Карлос Сношайтилис (ok), 00:19, 23/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Скромный релиз
     
     
  • 2.63, Аноним (63), 11:49, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Паскаль изначально умел безопасно работать с памятью.
     
     
  • 3.106, Аноним (106), 15:28, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И бэйсик.
    И куча всего чего, и сейчас, работает безопасно с памятью.
    Какие ещё инсайты будут?
     
     
  • 4.110, Аноним (110), 15:49, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Какой ты ненасытный
     
  • 3.115, Аноним (115), 16:03, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Паскаль не имеет достаточно продвинутой системы типов, для безопасной работы с памятью.
    Паскалисты это латентные сишники
    https://wiki.freepascal.org/Memory_Management#Dangling_Pointers
    https://wiki.freepascal.org/Memory_Management#Memory_Management_Errors
    https://wiki.freepascal.org/Memory_Management#Don't_Free
     
  • 3.142, Аноним (142), 19:09, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Никогда не умел, даже намёков на это не было.
     
  • 2.66, Аноним (63), 12:07, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Есть существенные подвижки:

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

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

     
     
  • 3.68, Анонимусс (?), 12:35, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > отсутствие гарантий при прохождении тестового набора - это как так?

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

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

    Конечно.
    В любом компиляторе (что в 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

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

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

     
     
  • 4.75, Аноним (75), 13:17, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >   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

     
     
  • 5.95, Аноним (63), 14:35, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если специалисты не могут написать компилятор без ошибок, как можно доверять высказываниям этих же спецов о "безопасной работе с памятью"?
     
     
  • 6.103, Аноним (103), 15:12, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если врачи не научились лечить все виды рака, то давай твой аппендицит тоже оставим как есть?

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

     
     
  • 7.112, Аноним (110), 15:53, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Если хирург не умеет ровно сделать разрез, не задев другие органы, давай не будем доверять ему оперировать твой аппендицит?

    Поправил. А то твоя аналогия слишком уж кривая была.

     
     
  • 8.169, Аноним (-), 05:41, 24/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В твоей аналогии кто будет вырезать аппендикс Мясник на базаре Дворник ... текст свёрнут, показать
     
  • 6.117, Аноним (115), 16:04, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    А вы на адрес обратите внимание. Ошибки в кодогенераторе llvm/gcc, совершенно внезапно.
     
     
  • 7.151, Аноним (63), 19:59, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Ошибки в кодогенераторе llvm

    Дай угадаю, rust что использует?

     
     
  • 8.158, Аноним (75), 22:04, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Ошибки в gcc, но виноват опять раст ... текст свёрнут, показать
     
  • 3.86, Аноним (86), 13:50, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Неужели компилятор может выдать неправильный код?

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

     
  • 3.168, laindono (ok), 03:48, 24/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    С другой стороны аж второй уровень поддержки для игрушечной архитектуры.

    Кстати, а у GCC есть какие-то документы на тему того, в каком статусе поддержка всяких исторических, игрушечных и прочих "поддерживаемых" архитектур? Есть какие-то гарантии на, скажем, epiphany (первый раз слышу)?

     

  • 1.6, Аноним (6), 00:30, 23/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –4 +/
    Чё там какие-нибудь подвижки по асинхронным генераторам? Сабж даже питон неспособен заменить из-за этого. Релизы ради релизов тоже странная практика, в прошлый раз пришлось 10 раз подряд скомпилировать тулчейн раста и буквально ничего полезного не добавили.
     
     
  • 2.12, Аноним (12), 00:41, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Чё там какие-нибудь подвижки по асинхронным генераторам?

    https://docs.rs/async-gen

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

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

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

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

     
     
  • 3.16, Аноним (6), 01:54, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну, это костыли. Что это нигде? Асинхронный код использует не блокирующиеся интерфейсы ядра. То что находятся люди, до сих пор пишущие не масштабирующийся код с блокировками -- только их проблема. Программисты в курсе, где можно получить эффективное масштабирование с минимумом затрат.

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

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

     
     
  • 4.60, Аноним (60), 11:28, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    > Постоянно линковку ломают тоже, но это к llvm больше.

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

     
  • 4.114, Феникс123 (?), 15:58, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Мне кажется вы тут сами себе противоречите, с одной стороны ратуете за масштабирование, а с другой стороны и с гилом сойдет. На rust уже несколько лет как асинхронность с async/await - вот вам полная масштабируемость на все ядра. Для чего нужны именно генераторы непонятно, но изначально async/await были реализованы через генераторы, просто их синтаксис был не стабилизирован. Из фьючей легким движением руки получаются генераторы, но не так чтобы это было особо востребовано.

    Мне async/await если честно не очень, но в расте по другому очень сложно - если программировать колбеки то будут большие проблемы с боровом.

    Синхронный IO тоже не слишком проблема кстати, если у клиента одно соединение с сервером масштабирование не требуется.

     
  • 2.24, Карлос Сношайтилис (ok), 03:02, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Чё там какие-нибудь подвижки по асинхронным генераторам?

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

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

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

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

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

     
     
  • 3.25, Аноним (6), 03:06, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Кому хватает? Я конечно понимаю, что на расте программы не пишут, но всё же.
     
     
  • 4.61, Fyjy (?), 11:34, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Вот именно!
    Ты даже не сказал какую ты программу пишешь, что тебе не хватает асинхронных генераторов, а сразу ныть начал.
    А то складывается впечатление что никакую.
     
     
  • 5.62, Аноним (6), 11:45, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Любую, мне надо, чтобы треды 2x числа ядер исполнялись параллельно с минимумом затрат и асинхронные генераторы годятся для этого как нельзя лучше. Допустим, я хочу использовать io_uring.
     
     
  • 6.72, Аноним (115), 13:08, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Значит вы берёте язык с gil и рассказываете, как он подходит лучше чем rust?
    >и асинхронные генераторы годятся для этого как нельзя лучше

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

     
     
  • 7.79, Аноним (6), 13:37, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Это кооперативная многозадачность и параллельное исполнение в первую очередь. Если это бизилуп, то ограничение 1 ядро, конечно. Но в таком случае экономия тредов и памяти остаётся. Прелесть такого кода в том, что ты добавляешь ядер и производительность автоматически масштабируется под доступные ресурсы.

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

     
     
  • 8.90, Аноним (106), 14:06, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Я не понимаю, ты сравниваешь асинк с питоне и асинк в расте или ты пытаешься про... текст свёрнут, показать
     
     
  • 9.94, Аноним (6), 14:20, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Спасибо, я в курсе В типичной программе абсолютно всё IO и генераторы это эффек... текст свёрнут, показать
     
     
  • 10.104, Аноним (106), 15:15, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем опять эта теория Кто с тобой в этой части спорит У меня нет, я сравнил, ... текст свёрнут, показать
     
     
  • 11.108, Аноним (6), 15:29, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Я просто вижу, у тебя какие-то сложности с пониманием асинхронности Вот я хочу ... текст свёрнут, показать
     
     
  • 12.113, Аноним (106), 15:55, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А-а-а-а, так ты для меня стараешься и пишешь банальности Спасибо, это очень мил... текст свёрнут, показать
     
     
  • 13.137, Аноним (6), 17:56, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    После питоножс хочется, чтобы было привычно и удобно, со всем сахаром У меня по... текст свёрнут, показать
     
  • 8.119, Аноним (115), 16:15, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Наоборот, это самое важное Этого банально не произойдёт Вы не по ядрам раскиды... текст свёрнут, показать
     
     
  • 9.136, Аноним (6), 17:51, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Чего Многопроцессный код будет использовать сколько угодно ядер в питоне 8230 ... текст свёрнут, показать
     
  • 7.96, Аноним (96), 14:37, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Не обязательно. Вон в ноде рантайм - однопоточный, а ивент луп (который крутит вертит очередью выполнением тасков) - многопоточный.
     
  • 6.76, Аноним (106), 13:27, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > исполнялись параллельно ... асинхронные генераторы

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


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

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

     
     
  • 7.83, Аноним (6), 13:42, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    у тебя не будет код исполняться без ожидания, это время можно замечательно использовать вместо блокировки в синхронном коде
     
  • 7.84, Аноним (6), 13:44, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    другой вариант это зелёные треды, т.е. stackless python и прочее, вот это уже затраты
     
  • 2.27, Аноним (27), 03:38, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Чё там какие-нибудь подвижки по асинхронным генераторам?

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

     
  • 2.30, morphe (?), 04:08, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Чё там какие-нибудь подвижки по асинхронным генераторам? Сабж даже питон неспособен заменить из-за этого.

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

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

     
  • 2.34, Хрю (?), 06:22, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Сабж даже питон неспособен заменить

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

     

  • 1.13, Аноним (13), 01:07, 23/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    >asm!(

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

     
     
  • 2.43, Анонимусс (-), 08:46, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > а если там работа с памятью безопасная тогда какой это к чёрту асм...

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

     
     
  • 3.48, КО (?), 09:31, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Да в Ржавом каждый чих надо делать в unsafe блоках. Писать в union - safe, читать unsafe и т.п.
     
     
  • 4.55, Проходил мимо (?), 10:10, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Если попробовать немного осмыслить ситуацию, то внезапно окажется что unsafe в union действительно необходим в силу его природы. Другое дело, что необходимость в самом union возникает ужасно редко.
     
     
  • 5.58, КО (?), 11:14, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Union это простая абстракция, которая нужна в первую очередь, когда надо меганакрученную структуру передать как набор байтиков, не заморачиваясь с ее логическими свойствами.
    Но сделать компилятор, который проверяет каким образом ты инициализировал union (положим первым, а не вторым) и при этом считает, что читать тем же способом эти данные unsafe - явная лень создателей.
     
     
  • 6.70, Анонимусс (?), 12:48, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +4 +/
    > проверяет каким образом

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

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

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

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

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

     
  • 6.71, Проходил мимо (?), 12:49, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Поясните пожалуйста, какой смысл вы вкладываете в слово "передать"?
    Передать в функцию, передать по сети или еще что-то?
     
     
  • 7.74, КО (?), 13:09, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    По сети, в файлик, в функцию щифрования или проверки контрольной суммы - т.е. выполнить операции которым неважна логическая структура.
     
  • 5.59, КО (?), 11:15, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    И вообще вопрос привычки - чем чаще надо делать unsafe, тем меньше ты заморачиваешься с тем, а стоит ли делать safe.
     
  • 5.128, Аноним (128), 17:05, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >возникает ужасно редко.

    IPv4,IPv6 - внезапно обрабатываются как union  

     
     
  • 6.159, Аноним (115), 22:08, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Совершенно внезапно, но это решается ADT, при этом типобезопасно.
     
  • 4.73, Аноним (115), 13:09, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Вы не сишник случаем? Зачем вам union, почему не взять ADT?
     
     
  • 5.98, Проходил мимо (?), 14:44, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Для Си-шника естественно было бы получить указатель на экземпляр структуры и ее размер при помощи sizeof(). Использование для этих целей union для Си-шника выглядит как несусветная дичь.
    Попытка реализации этого подхода в Rust натыкается на сложности с приведением типа указателей.

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

     
     
  • 6.152, 12yoexpert (ok), 20:32, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > PS Вообще же кидать в сеть бинарные структуры - это к потенциальному огребанию проблем.

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

    если мы, конечно, не перекладывание json-ов тут обсуждаем

     
  • 5.164, _kp (ok), 01:51, 24/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >>Зачем вам union

    Не Питонист случаем? На иных языках о "железе" имеют представление.

    union - описание физического размещения. Встречается в протоколах, работе с периферией, в общем данных которых полно в физическом мире.

    ADT - чисто абстракция. Её в "железо не скормить. Кстати, в C++ оно есть.

    Что использовать, зависит от того с придется работать.


     
     
  • 6.165, Аноним (115), 02:26, 24/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Не Питонист случаем?

    Не угадали.
    >ADT - чисто абстракция. Её в "железо не скормить.

    Зато, если приклеить к какждому union свой тег, то можно безопасно обращаться к этому самому union.
    >union - описание физического размещения.

    Это огромная проблема си, когда физическое устройство ставится на первый план, в ущерб корректности программы. Перед обращением к union всё равно потребуется знать, что именно в нём хранится, так что куда логичнее делать это чрез ADT, что будет гарантированно коректно, а не в традиционном си стиле, где баги образуются из-за того, что очредной сишник опять забыл дописать проверку снова.

     
  • 2.45, Проходил мимо (?), 09:16, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    В Rust есть такое волшебное слово unsafe и где начинается unsafe - там заканчивается безопасность.
    Предполагается, что пишущий unsafe блок программист знает и понимает, что делает. А если не знает - то это уже не проблема Rust-а.
     
     
  • 3.77, Аноним (106), 13:34, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > там заканчивается безопасность

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

     
  • 3.101, Аноним (101), 14:55, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    >то это уже не проблема Rust-а.

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

     
  • 3.120, Аноним (120), 16:21, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    А как только в C-коде дыра, связанная с памятью (хотя такое довольно редко происходит), то сразу у растеров язык C виноват.
     
     
  • 4.123, Аноним (-), 16:31, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А как только в C-коде дыра, связанная с памятью (хотя такое довольно редко происходит),

    хахаха, редкая?
    Ну посмотри сколько дыр в ядре из-за Memory Corruption
    cvedetails.com/vendor/33/Linux.html

    > то сразу у растеров язык C виноват.

    Конечно нет!
    Виноваты погромисты, которые из-за своей лyддuтности до сих пор каменным топором работают.


     
     
  • 5.166, Аноним (115), 02:27, 24/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >хахаха, редкая?

    Последняя с конца, да.

     

  • 1.14, Аноним (115), 01:14, 23/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    Что почитать по теме управления памятью? Типа как устроена память в java, регионы и так далее, не про статические проверик, при этом не на уровне hello world
     
     
  • 2.19, Rev (ok), 02:18, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Тебя забанили в больших нейронках?
     
     
  • 3.39, Аноним (39), 07:23, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +3 +/
    О, пользуясь случаем хотел бы спросить. Как бы мне сделать так, чтобы меня забанили в нейронках, больших и малых? Чтобы вот прям ни в каком виде им было нельзя со мной соприкасаться?
     
     
  • 4.52, Аноним (52), 09:56, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Уезжай жить в лес.
     
  • 4.107, Аноним (107), 15:28, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Отрезать интернет-кабель. Больше никак.
     
  • 4.133, Аноним (128), 17:19, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Почитай литературу на тему "нелегальная жизнь" )
     
  • 3.46, Аноним (46), 09:19, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Это в которых, что бы получить правильный детальный ответ надо знать этот ответ. Ибо пока не спросишь про конкретные исключения и конкретные детали он их даже ну упомянет и не упомянет их возможность существования. Типа догадайся, что такое может быть и спроси.
     
     
  • 4.53, Аноним (52), 09:57, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Это которыми ты не умеешь пользоваться.      
     
     
  • 5.126, Аноним (126), 17:00, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Очевидно, что умею, раз получил в итоге полный правильный ответ. Вот только без знания того, что должно быть, нельзя гарантированно получить ответ о том что должно быть.

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

     
     
  • 6.131, Аноним (128), 17:14, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    ИИ не "живет с Вами в одной реальности", а воспитан на объеме данных в лаборатории и общался с тренерами.
     
     
  • 7.132, Аноним (128), 17:16, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    По сути это игрушка, которая нравится тренерскому коллективу и которую хотят подороже продать спонсоры.
     
  • 7.153, 12yoexpert (ok), 20:36, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ИИ нигде не живёт, его нет и не будет ещё очень-очень долго, а то, что ты покупаешь, называется товар
     
  • 5.129, Аноним (128), 17:11, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    >Это которыми ты не умеешь пользоваться.  

    Потребитель не дорос? Новая философия услуг нейросетей.

     
     
  • 6.154, 12yoexpert (ok), 20:36, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    просто твоя вера слаба
     
  • 3.134, Аноним (128), 17:21, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Опа, литературу и тематические сайты уже отменили?
     

  • 1.20, Аноним (20), 02:33, 23/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    >Методы работы с памятью в Rust избавляют разработчика от ошибок при манипулировании указателями и защищают от проблем, возникающих из-за низкоуровневой работы с памятью, таких как обращение к области памяти после её освобождения, разыменование нулевых указателей,

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

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

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

     
     
  • 2.22, Карлос Сношайтилис (ok), 02:58, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > обычный сборщик мусора тоже защищает от этих проблем

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

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

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

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

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

     
     
  • 3.57, Аноним (115), 10:37, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >А ещё он мусор собирает.
    >И пусть весь мир подождёт

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

     
     
  • 4.81, Аноним (106), 13:39, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > в огромном количестве мест

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

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

     
     
  • 5.121, Аноним (115), 16:23, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Гошка заняла прочное место в инфраструктурных приложениях, почти успешно заменив баш и питон.

    Зато раньше почти весь этот софт писали на си. Оказывается, если написать тот же docker на go, небосвод на землю не рухнет.
    >В остальных местах - постольку-поскольку, ибо задержки и жор памяти, при повышении нагрузки, непредсказуемые и болезненные.

    Тем временем куча IDE почему-то на java, Elisp, и даже в neovim пробрался lua. Вот как-то не наблюдается почему-то таких программ на c/c++. Даже тот же MS VS почему-то с крестов на c# переводят. Тоже небосвод не рухнул.

     
  • 3.171, Ivan_S (?), 11:39, 24/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    -> Сначала хотели сделать как в сях - при выходе за границы, делать вид, что ничего не происходит и работать дальше.

    Вообще-то центральный процессор следит за тем, был ли в программе выход за границу массива, и генерирует внутренние прерывание, если такое было, после чего программа снимается с выполнения уже средствами ОС. Язык Си или любой другой сдесь вообще не при чём.

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

     
     
  • 4.173, Аноним (75), 15:18, 24/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Вообще-то центральный процессор следит за тем, был ли в программе выход за
    > границу массива, и генерирует внутренние прерывание, если такое было, после чего
    > программа снимается с выполнения уже средствами ОС. Язык Си или любой
    > другой сдесь вообще не при чём.

    Если речь о к̵о̵с̵т̵ы̵л̵е̵ Guard Pages, то поинтересуйся подводными камнями этого способа. Если грубо: память вполне безнаказанно можно портить от границы массива и до "охранной" страницы памяти. Поэтому-то и существуют другие костыли (уже не такие "бесплатные"), в виде проверок целостности, "канареек" и прочего.

     
  • 2.28, Аноним (27), 03:44, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Есть ссылки и подсчет ссылок, но и обычный сборщик мусора тоже защищает от этих проблем

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

     
     
  • 3.50, КО (?), 09:42, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Не "не нужен", а не подходит.
    Ибо системному программисту в отличии от прикладного важно сколько времени отрабатывает, например, следующая конструкция языка:

    }

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

     
  • 3.69, Аноним (20), 12:47, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Есть системные языки для которых сборщик мусора не нужен, принципиально.

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

     
     
  • 4.93, Аноним (106), 14:15, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Время работы сборщика мусора недетерминировано, в отличии от подсчёта ссылок.
    Это принципиальное различие, которое не позволяет называть подсчёт ссылок сборкой мусора.
    Иначе можно сказать, что вызов free это тоже сборка мусора и это понятие потеряет всякий смысл.
     
     
  • 5.99, КО (?), 14:50, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Сборка мусора через подсчет ссылок - это тоже сборка мусора.
    И она так же недетерминирована - ибо высвобождение корня дрема может вызвать каскад высвобождений и далее понеслось.
    Другое дело, что подсчет ссылок более менее тривиален для однопоточного приложения.

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

     
     
  • 6.105, Аноним (106), 15:20, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > free - это управляемая программой сборка мусора.

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

     
     
  • 7.116, КО (?), 16:03, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Уговорил - если нет поиска того, что надо освободить - то просто освобождение памяти
     
  • 2.49, Проходил мимо (?), 09:40, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    По поводу выхода за границы буфера скажу так - можно написать паникующий код а м... большой текст свёрнут, показать
     
     
  • 3.85, Аноним (85), 13:44, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/



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



    И как сий финт ушами по скорости? Этот "match" с несколькими значениями - сильно тяжелый цикл нагнет? По сравнению с if (i >= ARRAY_SIZE(x)) { // опчки, out of bounds }
     
     
  • 4.87, КО (?), 13:51, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Если на то пошло, для немутирующих слайсов достаточно 1 раз проверить len(), чем в каждой итерации
     
  • 4.91, Аноним (-), 14:06, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Во-первых ты докопался до просто примера.
    В реальности в зависимости от того оно мутирующее или нет можно len() проверить 1 раз.

    > И как сий финт ушами по скорости? Этот "match" с несколькими значениями - сильно тяжелый цикл нагнет?

    Зависти от того что такое "тяжелый цикл")

     
  • 4.102, Проходил мимо (?), 14:56, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Со скоростью там все нормально, сам по себе match - это что-то типа switch с очень расширенными возможностями, но при этом работает он очень быстро.

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

     
     
  • 5.138, Аноним (128), 18:02, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >Прирост скорости, по ощущениям, гораздо выше,

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

     
  • 4.139, Аноним (128), 18:24, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >По сравнению с if

    здесь главное, что происходит оценка (сопоставление) значения и ветвление в зависимости от значения.

     
     
  • 5.140, Аноним (128), 18:25, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    универсальный подход не связанный с индексом.
     
  • 4.175, Аноним (175), 09:54, 25/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    пезразницы Vec get заинлайнится, а потом оптимизатор сведёт всё это синтаксиче... большой текст свёрнут, показать
     
  • 2.51, КО (?), 09:50, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >А как выход за границы защищен? Всегда таскают размер в ссылке, всегда делают проверку индекса, и если что не так, то паника?

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

    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
               }
             } );
        }
        
    }

     
     
  • 3.92, Аноним (92), 14:10, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • –1 +/
    >             Some(n) => n,
    >             None => match f2.get(i) {

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

     
     
  • 4.97, КО (?), 14:41, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    С ифами и дурак напишет. :)
     
  • 4.122, Аноним (115), 16:26, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Вам дали улучшенную версию if-ов, с проверками времени компиляции на полноту вариантов, а вы обратно в каменный век засобирались.
     
     
  • 5.125, КО (?), 16:43, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну если придираться, то это скорее аналог ()?():()
     
  • 3.135, Аноним (128), 17:37, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Для этого есть безопасный тип - срез.
     

  • 1.21, Аноним (21), 02:49, 23/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Новая итерация бутстрапа подъехала.
     
  • 1.23, Аноним (23), 03:02, 23/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    >В Rex-программах допускается использование подмножества языка Rust, предоставляющего гарантии безопасности.

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

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

     
     
  • 2.29, morphe (?), 04:04, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Прямо даже легче С?

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

     
     
  • 3.82, Аноним (85), 13:41, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Учитывая что у C есть только BPF со стрёмным верификатором и JIT - да

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

     
     
  • 4.141, morphe (?), 19:01, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Так я так понял что там идея что ты передаёшь привилегированному процессу исходный код, а он уже его линтит, компилирует, и грузит

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

     
  • 4.155, Карлос Сношайтилис (ok), 20:53, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Чувствуется опыт разработки на С, когда перестаешь доверять всем, даже себе.

    Попробуй Раст, тебе понравится

     

  • 1.26, Имя (?), 03:07, 23/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Я разочарован полным отсутствием новых применений признака const в этом релизе.
     
  • 1.56, Аноним (96), 10:29, 23/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Как раст в бэкендах по сравнению с гошечкой? Есть от раста вау-вау эффект по производительности?
     
     
  • 2.67, Аноним (67), 12:20, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +2 +/
    конечно есть, быстрее падает в паники и утекает память
     
  • 2.80, Аноним (-), 13:38, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Как раст в бэкендах по сравнению с гошечкой? Есть от раста вау-вау эффект по производительности?

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

     
     
  • 3.147, Аноним (63), 19:40, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > Rust скорее с C/C++ по скорости уместнее сравнивать.

    Естественно, сравнение не в пользу первого.

     
     
  • 4.160, Аноним (75), 22:11, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >> Rust скорее с C/C++ по скорости уместнее сравнивать.
    > Естественно, сравнение не в пользу первого.

    Сказал, как в̵ ̵л̵у̵ж̵у̵?
    https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/regexr
    https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/pidigi
    https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/binary
    https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/knucle
    https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/fasta.
    https://benchmarksgame-team.pages.debian.net/benchmarksgame/performance/mandel
    Странно. Видать опять неправильные тесты от неправильный погроммистов ...


     
  • 2.143, Аноним (142), 19:13, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Ну по RPS не 10x как на том что я переписывал с питона, но 2x стабильно есть. При этом код понятнее получился и тестировать сильно проще.
     
     
  • 3.150, Аноним (96), 19:57, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    А какой фреймворк, какая БД, какой ORM?
     
  • 3.161, Аноним (115), 23:00, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    >Ну по RPS не 10x как на том что я переписывал с питона, но 2x стабильно есть.

    Как-то подозрительно мало.

     

  • 1.64, Аноним (63), 11:59, 23/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    > Встроенная в поставку Rust стандартная си-библиотека Musl

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

     
     
  • 2.89, Facemaker (?), 13:55, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Узнать об этом -- тебе в качестве домашнего задания.
     

  • 1.78, Аноним (-), 13:37, 23/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    > <[MaybeUninit<T>]>::write_copy_of_slice

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

     
  • 1.111, Аноним (111), 15:52, 23/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    "Поздно пить Боржоми!") Раст опоздал на пару десятков лет. Теперь ИИ будет анализировать и исправлять уязвимости в Си коде. И это будет намного проще и прозрачнее, чем перелопачивать дебри Раста.
     
     
  • 2.167, Vorobej (?), 02:35, 24/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    Наоборот, хотят заставить ИИ переписать Сишный код в Раст
     

  • 1.118, cheburnator9000 (ok), 16:05, 23/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    На Горе2Дуба работает? Или уже deprecated?
     
     
  • 2.130, Аноним (130), 17:12, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    > На Горе2Дуба работает? Или уже deprecated?

    Обижаете! Оно еще и более древние древности поддерживает на уровне Tier2.

    i586-unknown-linux-gnu ✓ 32-bit Linux (kernel 3.2+, glibc 2.17, original Pentium) 3
    i586-unknown-linux-musl ✓ 32-bit Linux (musl 1.2.5, original Pentium) 3

    А i686-unknown-linux-gnu 32-bit Linux (kernel 3.2+, glibc 2.17+, Pentium 4) вообще в Tier 1 значится.

    doc.rust-lang.org/beta/rustc/platform-support.html#tier-1-with-host-tools

     
     
  • 3.145, Аноним (63), 19:26, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > на уровне Tier2.

    Это когда результат не гарантируется?

     
     
  • 4.149, Аноним (149), 19:53, 23/01/2026 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Это когда результат не гарантируется?

    Это когда "запустите на своем хламе и расскажите как оно".

     

  • 1.172, MaxT (?), 13:32, 24/01/2026 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    какой! классный! синтаксис!
     
     
  • 2.174, Аноним (63), 20:28, 24/01/2026 [^] [^^] [^^^] [ответить]  
  • +/
    !"понятный[!(#очень,главное!не)]
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



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

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