Русский
Открыть в Telegram
RRust

Rust

✅ Высокое доверие
@rust_code · канал · в индексе с 20.05.2026
9 149подписчиков+50 за неделю
2 717средний охват поста
29.7%ER — охват к подписчикам
34постов за 30 дней
R
Rust
Ссылка
нажмите — покажем
🦀 Кто должен доказывать корректность реализации трейта в Rust: сама реализация или код, который её использует? Нико Матсакис разобрал этот вопрос на примере циклических зависимостей, когда доказательство может замкнуться само на себя. Допустим, есть трейт Magic: Copy. Любой тип с Magic обязан реализовывать Copy. Два подхода: • Модульный: проверяем обязательства при проверке impl. Поэтому impl Magic for String недопустим: String не реализует Copy. • Внешний: разрешаем такой impl, но при его использовании требуем отдельно доказать String: Copy. Реализация есть, воспользоваться ей нельзя. Второй вариант помогал обойти проблему циклических доказательств. Но упирался в unsafe-трейты. Когда автор пишет unsafe impl, остальной код доверяет его гарантиям. Если реализация ошибочно обещает, что Box<T> может содержать нулевой указатель, ответственность лежит на ней. Выходит странная модель: гарантии безопасности у impl принимаем, а выполнение требований супертрейтов заставляем перепроверять вызывающий код. Вывод Нико: реализация должна сама устанавливать выполнение своего контракта. Следующая часть будет о том, как совместить этот подход с циклами. https://smallcultfollowing.com/babysteps/blog/2026/10/10/modular-vs-external-proofs/ #Rust
13 · 1.9K ·
Rust
Фотография
🔥 Хочешь быстрее расти в IT? Хватит учиться в одиночку Окружение решает больше, чем кажется. Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре. AI: t.me/ai_machinelearning_big_data Python: t.me/pythonl Linux: t.me/linuxacademiya Хакинг: t.me/linuxkalii DevOps: t.me/DevOPSitsec Docker: https://t.me/+90Z5TAyfuNU5YmRi Golang: t.me/Golang_google Rust: t.me/rust_code C++: t.me/cpluspluc C#: t.me/csharp_ci Java: t.me/javatg JavaScript: t.me/javascriptv React: t.me/react_tg Frontend: t.me/front PHP: t.me/phpshka Android: t.me/android_its Мобильная разработка: t.me/mobdevelop Базы данных: t.me/sqlhub Data Science: t.me/data_analysis_ml Big Data: t.me/bigdatai Математика: t.me/data_math Физика: t.me/fizmat Kubernetes: t.me/kubernetc GameDev: https://t.me/gamedev Haskell: t.me/haskell_tg Собеседования и карьера: DS собеседования: t.me/machinelearning_interview Python собеседования: t.me/python_job_interview Папка с вакансиями: t.me/addlist/_zyy_jQ_QUsyM2Vi Папка Go разработчика: t.me/addlist/MUtJEeJSxeY2YTFi Папка Python разработчика: t.me/addlist/eEPya-HF6mkxMGIy Папка ML: https://t.me/addlist/2Ls-snqEeytkMDgy Папка Frontend: https://t.me/addlist/mzMMG3RPZhY2M2Iy Полезное сверху: ИТ-мемы: t.me/memes_prog Английский для программистов: t.me/english_forprogrammers ИИ и технологии: t.me/vistehno 954 ГБ open-source курсов: https://t.me/+rKBQEMccAA01MTcy ИТ-книги бесплатно: https://t.me/addlist/BkskQciUW_FhNjEy Max Ai: https://max.ru/ai_machinelearning_big_data Max python: https://max.ru/pythonl ТЕХНО: https://max.ru/vistehno Max Go: https://max.ru/Golang_google Max Linux: https://max.ru/linuxkalii Devops: https://max.ru/DevOPSitsec C#: https://max.ru/csharp_ci C++: https://max.ru/cpluspluc SQL: https://max.ru/sqlhub Java: https://max.ru/javatg Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.
🖕4😁2🤣1
4 · 1.4K ·
Фотография
Ник Матсакис предлагает для Rust северную звезду эпохи ИИ-агентов: ноль unsafe-кода Один из ключевых людей в дизайне Rust опубликовал текст о том, что кодинг-агенты значат для языка. Это письменная версия доклада на REBASE в рамках SPLASH. Сам автор называет содержимое «недопечёнными идеями», так что это видение, а не предложение новых фич. Выводы такие: люди в программировании всё ещё нужны, дизайн языков по-прежнему важен, а Rust хорошо подходит для агентной разработки и может подойти ещё лучше. По производительности аргумент простой. Хорошие значения по умолчанию плюс явные ручки для тонкой настройки. По словам автора, люди, которые раньше вручную оптимизировали криптографический код, теперь обращаются к агентам. Вместе с профайлером вроде dial9 получается цикл: бенчмарк, профиль, агент предлагает правку, PR в репозитории. С надёжностью сложнее. Типы удерживают агента в рамках, но тесты показывают наличие багов, а не их отсутствие, и типы гарантируют лишь отсутствие определённых классов ошибок, а не корректность результата. Тут нужны доказательства. Для Rust уже есть Verus, Creusot, Aeneas и Kani. При этом типы продолжают играть роль, потому что делают доказательства дешевле. &mut даёт гарантию уникальности, и Verus опирается на borrow checker именно ради этого, чтобы солверу было проще. Куда, по мнению Матсакиса, стоит двигаться: более выразительная система типов (view types, внутренние ссылки, даже проверка вроде «в лог не попадают персональные данные»), расширяемый компилятор, чтобы инструменты доказательств не жили на костылях из макросов и привязке к конкретным версиям компилятора, и поддержка доказательства корректности unsafe-кода. Северная звезда: больше никакого unsafe. Это не значит убрать ключевое слово. Это значит уметь доказать, что весь unsafe-код корректен и не приводит к неопределённому поведению. Главной открытой проблемой автор называет дизайн, то есть решение о том, что вообще строить. Ставка на специализированные языки дизайна, которые … Читать полностью →
🔥10💊3🥰2❤2
29 · 1.8K ·
R
Фотография
Imagining how many days it would take to debug these problems in Python or Javascript
🙏14🔥5🌚2🥴2👍2❤1😁1
9 · 1.7K ·
R
Rust
Фотография
🦀 Задача на Rust: распакуй строку, не запутавшись во вложенности Запись k[текст] означает: повторить содержимое скобок k раз. Но внутри могут быть другие такие же конструкции. Напиши функцию: fn decode_string(s: String) -> String Она должна проходить эти проверки: assert_eq!(decode_string("2[a]".into()), "aa"); assert_eq!( decode_string("2[2[2[a]]]".into()), "aaaaaaaa" ); assert_eq!( decode_string("2[a]2[b]2[c]".into()), "aabbcc" ); assert_eq!( decode_string("2[abc]3[cd]ef".into()), "abcabccdcdcdef" ); Усложнение: число повторений может быть многозначным, например 12[ab]. Вход считаем корректным, цифры используются только для количества повторений. Что выберешь для решения: стек или рекурсивный разбор? 👇
👍6❤5😁1🥰1🔥1
13 · 1.4K ·
R
Фотография
👣 Rust предлагает включить новый trait solver по умолчанию: крупнейшее изменение языка со времён 1.0 В rust-lang/rust открыт PR #164209 от lcnr, и сам автор называет его крупнейшим одиночным изменением Rust после версии 1.0. Важная оговорка: PR ещё не влит, он находится на стадии предлагаемого final comment period. Над новым солвером работали четыре года несколько человек, опираясь на опыт многолетнего Chalk. Он меняет поведение системы типов в пограничных случаях, скорость и сам способ рассуждения о ней. Если предложение одобрят, новый солвер уйдёт в beta, а затем в stable, начиная с Rust 1.101. Beta cutoff назначен на 6 ноября, после него старый солвер удаляют, так что стабилизация может сдвинуться максимум на один релиз. Ближайшая выгода это TAIT и RTN, которые ждали переработки opaque types. Основные плюсы придут позже, с возможностями, доступными только новому солверу. Авторы честно перечисляют недостатки: остались зависания, производительность в среднем хуже, часть диагностик слабая, открыты мелкие баги. Аргументы за выкатку такие: два солвера в компиляторе усложняют код и делят покрытие тестами, работа блокируется ожиданием нового, а новые крейты уже начинают зависеть от некорректного поведения старого. Crater нашёл меньше 500 затронутых крейтов, почти все из-за нескольких корневых, и поломки описаны как ожидаемые. Прогон перформанса на основной метрике числа инструкций заметных изменений не показал. lcnr отдельно благодарит compiler-errors и adwinwhite, без работы которых такая стабилизация, по его словам, вряд ли была бы возможна. Источник: http://github.com/rust-lang/rust/pull/164209
16 · 4.4K ·
R
Rust
Фотография
Rust сократил расходы на CI примерно на 75% - и сознательно оставил лишние сборки компилятора. В интервью Serokell Марко Иени из Rust Foundation объяснил компромисс. Основную экономию дал переход с GitHub large runners на стандартные. По Enterprise-плану проекту доступны до 500 стандартных раннеров одновременно, а большие расходуют ограниченные спонсорские кредиты. Часть тестов разделили между двумя стандартными раннерами. Каждый заново собирает компилятор — вычисления дублируются. Можно собрать один раз и раздать артефакты. Но команда отказалась: такой обмен сделал бы CI медленнее и хрупче. Доступных раннеров хватает, поэтому простота оказалась ценнее экономии CPU. Тот же принцип - в мониторинге: с собственного Prometheus и Grafana перешли на Datadog, поскольку старую систему никто не успевал обновлять. Самый ограниченный ресурс здесь - время инженеров. Небольшая команда, во многом состоящая из волонтёров, не может оптимизировать каждый цент. Хорошая инфраструктура укладывается в бюджет и остаётся посильной в сопровождении. Иногда ради этого стоит выполнять одну и ту же работу дважды. https://serokell.io/blog/the-hidden-challenges-of-rust-infrastructure-interview-with-marco-ieni
18 · 3.4K ·
R
Rust
Фотография
Rust выбирают для связи медицинских устройств: Vector заново разработала на нём стек IEEE 11073 SDC. SDC позволяет приборам разных производителей обнаруживать друг друга, обмениваться измерениями, состояниями и тревожными сигналами. Это основа для совместной работы оборудования в операционных и реанимации. Почему Rust? По объяснению Vector, безопасность памяти и типов помогает предотвращать распространённые ошибки ещё при разработке, снижая риск части сбоев и уязвимостей. При этом переписывать всё приложение не требуется: стек подключается к существующему коду на C и C++ через FFI. Его можно встроить в устройство или использовать через шлюз. Vector также заявляет рост производительности благодаря оптимизации обработки XML и структуры данных, описывающей состояние прибора. Конкретных результатов бенчмарков компания не привела. Доступность ожидается в первом квартале 2027 года. О сертификации или регуляторном одобрении в анонсе не сообщается. Заметный пример практического внедрения Rust: производитель инженерного ПО выбирает его для компонента, предназначенного работать внутри медицинского оборудования. https://www.vector.com/en/company/press/press-releases/vector-announces-new-rust-based-ieee-11073-sdc-stack-for-the-medical-device-industry/
31 · 3.5K ·
R
Rust
Фотография
Фотография
Rust официально появился в systemd - с жёсткими ограничениями. В основную ветку проекта приняли поддержку новых программ на Rust. Изменения готовятся для systemd 263. Systemd отвечает за запуск системы и управление службами во многих Linux-дистрибутивах. Теперь часть новых утилит можно разрабатывать на Rust по следующим правилам: - Только самостоятельные компоненты, от которых не зависят другие части systemd. - Сборка через Meson, без Cargo. - Режим `no_std` — без стандартной библиотеки Rust и произвольных сторонних зависимостей. - Взаимодействие с существующим кодом — через C-интерфейсы. Переписывать существующий C-код не планируют. Поддержка Rust опциональна: проект по-прежнему можно собрать без него. Первый запланированный компонент — systemd-keyring-setup. Он будет загружать X.509-сертификаты в хранилища ключей ядра Linux при загрузке. Сама утилита пока находится в отдельном, ещё не принятом PR. Rust постепенно входит в базовую инфраструктуру Linux: через новые компоненты с чёткими границами и общей системой сборки. https://github.com/systemd/systemd/pull/44324
35 · 3.5K ·
R
Rust
Фотография
BeautifulRust – бесплатный набор навыков, который помогает ИИ-агентам писать более качественный Rust. Проект объединяет рекомендации Google, Microsoft, Rust API Guidelines, Effective Rust и Rust Design Patterns. Когда источники расходятся, автор выбирает подход и объясняет причину. Внутри – навыки для написания и ревью кода, а также конфигурация Clippy для автоматических проверок. Перед сдачей результата агенту предписано запускать форматирование, Clippy с предупреждениями как ошибками, тесты и сборку документации. В авторской оценке на трёх задачах навык повысил результат с 24 до 29 пройденных проверок из 30, расходуя примерно на треть больше токенов. Выборка небольшая, но результат интересный. Работает с Claude Code, Codex, Cursor и другими клиентами Agent Skills. Лицензия – MIT. Установка: npx skills add morganlinton/BeautifulRust https://github.com/morganlinton/BeautifulRust
164 · 3.7K ·
R
Rust
Уязвимости в Rust-библиотеках zip-rs и librsvg В библиотеке zip-rs, написанной на языке Rust и насчитывающей около 10 млн загрузок в неделю, выявлена уязвимость (CVE-2026-115905), позволяющая создавать архивы, которые выглядят безобидными, но при распаковке из них извлекаются другие, изначально не показанные в списке, файлы. Файлы могут быть размещены в архиве вне структуры Central Directory, из-за чего при просмотре списка файлов показывается одно содержимое, но при распаковке через API ZipStreamReader извлекаются другие файлы. Проблеме присвоен уровень опасности 10 из 10. Уязвимость исправлена в версии zip-rs 9.0.5. Полный текст: https://opennet.ru/66555/ https://opennet.me/66555/
33 · 3.8K ·
R
Rust
Основатель CentOS и Rocky Linux представил Linux-совместимое ядро Ginux, написанное на Rust Грегори Курцер (Gregory Kurtzer), основатель дистрибутивов CentOS и Rocky Linux, представил проект Ginux, развивающий ядро операционной системы на языке Rust, нацеленное на достижение совместимости с ядром Linux. Опубликованный исследовательский прототип уже способен загрузить системное окружение дистрибутивов Alpine с BusyBox и Rocky Linux 10 с systemd в многопользовательском консольном режиме. Код проекта распространяется под лицензией Apache 2.0. Поддерживается работа на системах с архитектурой x86-64. Полный текст: https://opennet.ru/66562/ https://opennet.me/66562/
56 · 3.6K ·
R
Rust
Видео
2026-10-28 10-06-16 (online-video-cutter.com).mp4 · 2.5 МБ
⚡ Minecraft переписывают на Rust: Horizon - альтернативный клиент с открытым кодом. Проект воссоздаёт Minecraft: Java Edition 26.3: от генерации мира и физики до интерфейса, звука и сетевой игры. Доступен для Windows, Linux и Mac на Apple Silicon. По заявлениям разработчиков, совместимость с оригиналом проверяется 281 набором сравнительных тестов. Клиент подключается к ванильным серверам, поддерживает сохранения и перенос совместимых модов из сборок Modrinth и CurseForge. В сети распространяются демонстрации высокой производительности на слабых компьютерах. Однако обещать всем 60 FPS и мгновенную загрузку чанков нельзя: результат зависит от железа, настроек и конкретной сцены. Как попробовать: 1. Установите свою лицензионную Minecraft: Java Edition через официальный лаунчер и один раз запустите версию 26.3. 2. Скачайте лаунчер Horizon и установите доступный релиз. 3. Подготовьте ресурсы из установленной копии игры и запускайте клиент. Horizon – независимый проект, не связанный с Mojang и Microsoft. Код распространяется под MIT, файлы самой Minecraft в комплект не входят. https://playhorizon.dev/
97 · 3.4K ·
R
Rust
Фотография
Переписал GPU-вычисления на Rust и ускорил обработку в десятки раз. Но часть работы не окупилась Провин Перера рассказал, как за три недели перевёл speakrs с ONNX Runtime на собственные GPU-ядра, написанные на Rust с помощью NVIDIA cuda-oxide. Библиотека занимается диаризацией речи: определяет, кто и когда говорит в аудиозаписи. По замерам автора на RTX 4090, после всех изменений: - VoxConverse dev: 1236 → 38 секунд. - Earnings-21: 2692 → 75 секунд. - Ошибка диаризации, DER, осталась прежней. Однако отказ от ONNX Runtime сам по себе дал ускорение в 1,81 раза. Остальной прирост нельзя приписывать одной замене рантайма. А вот замена cuDNN и cuBLAS собственными ядрами, по оценке автора, преимущественно не оправдала усилий. Библиотеки NVIDIA оптимизированы под множество GPU, а свои реализации приходилось отдельно настраивать под A100, T4 и RTX 5090. H100 пока осталась без настройки. Бонус полного отказа от этих библиотек - GPU-контейнер примерно на 2 ГБ меньше. Большую часть ядер написали ИИ-агенты. Автор задавал цели, измерял результат и решал, что принимать. Пять дней ушли на сложную систему проверок, принёсшую один PR. После перехода к простой сквозной проверке за восемь часов удалось внедрить больше изменений. Вывод автора: сначала измерьте пользу от замены компонента. Поддерживать собственную версию придётся тоже вам. https://avencera.com/
46 · 3.6K ·
R
Rust
Два месяца оптимизаций Rust-кода. А самое большое ускорение дало знание того, как устроен Linux. Гийом Гомес, разработчик sysinfo, добавил сбор данных об использовании GPU отдельными процессами. Обновление информации резко замедлилось: приходилось обходить открытые файловые дескрипторы и искать подключения к видеокарте. Дальше началась оптимизация: - Работа с байтами вместо строк - примерно на 20% меньше инструкций. - Замена Vec структурой в одном парсере - около 6%. - fstatat вместо readlink - около 8%. - Повторное использование буферов - на 79% меньше выделенных байтов, но без ускорения. Перелом случился после чтения исходников htop: потоки обычно разделяют таблицу файловых дескрипторов своего процесса. Значит, обходить одну и ту же таблицу для каждого потока незачем. Если она общая, достаточно скопировать GPU-данные процесса. В замерах автора время выполнения сократилось с 0,31 до 0,11 секунды - примерно на 64%, а число инструкций упало на 65%. Есть нюанс: поток может отделить свою таблицу. Проверить, общая ли она, позволяет kcmp. Цифры получены на машине автора и зависят от нагрузки. https://blog.guillaume-gomez.fr/
❤11🔥8
19 · 3.2K ·
R
Rust
Фотография
Показываешь ИИ чужой сайт или приложение, а он разбирается, как всё работает, и собирает свою версию На GitHub появился Craft Anything - open-source инструмент на Rust, объединяющий реверс-инжиниринг и AI-разработку. Работает довольно интересно. Указываешь сайт, десктопное приложение или игру и описываешь, что хочешь воспроизвести. Система исследует оригинал, передаёт результаты coding-агенту, собирает новый проект и сравнивает его с исходным. Если обнаруживает расхождения, запускает следующую итерацию исправлений. Внутри целый движок реверс-инжиниринга с более чем 300 инструментами. Поддерживаются анализ бинарников, .NET, Java, Android, Electron, JavaScript и игровых файлов. Есть два режима. Clean Room изучает только внешнее поведение и интерфейс, не читая исходники. Deep позволяет исследовать внутреннее устройство программы, включая дизассемблирование и декомпиляцию. Все инструменты доступны через CLI и MCP. Для генерации кода используется прежде всего Claude Code. Например, можно попросить агента воссоздать интерфейс сайта, а затем проверить результат на трёх размерах экрана. Проект пока в ранней альфе: часть проверок и интеграций ещё экспериментальная. Интересная идея для coding-агентов: вместо попытки угадать устройство программы по скриншоту сначала собрать реальные данные о её работе, а затем писать код. https://github.com/storytold/craft-anything
👀1🔥1
155 · 2.6K ·
R
Rust
Фотография
✔️ Google переписала 40-летний код с Fortran на Rust за 59 минут с помощью ИИ Инженеры Google дали Gemini 4 Argon через Antigravity научную модель океана FVCOM. В исходном проекте было 174 тысячи строк Fortran и C, накопленных за десятилетия. Агент самостоятельно изучил код, составил план миграции, переписал основные вычислительные модули на Rust, запустил тесты и оптимизировал производительность. Результаты эксперимента: - 59 минут на миграцию основного вычислительного ядра. - Ускорение симуляции в 1,88 раза. - Потребление памяти снизилось на 54%. - Обнаружено 6 старых ошибок, включая переполнения и выходы за границы массивов. - 96,8% покрытия ветвей тестами. - Численные результаты совпали с оригиналом до 12 знаков после запятой на 100 тестовых сценариях. В новом коде полностью запретили unsafe. Для ускорения агент убрал лишние выделения памяти внутри циклов, переработал структуры данных и применил LLVM PGO. При первом запуске один тест упал из-за ошибки в расчётах для мелководья. Агент сам разобрал трассировку, исправил код и повторно прогнал тесты. Google выложила использованный workflow в виде открытого skill для Antigravity. Запуск миграции выглядит так: /migrate-to-rust <github-repo-url> https://antigravity.google/blog/modernizing-40-year-old-scientific-code-with-gemini-4-argon @data_analysis_ml #rust #Google #Argon
🔥2👍1❤1
92 · 2.1K ·
Фотография
Discord переписывают на Rust. Electron отправляют на пенсию Технический директор Discord Станислав Вишневский подтвердил, что компания разрабатывает новый клиент на Rust, полностью отказываясь от Electron на десктопе и React Native на мобильных устройствах. Вместо Electron разработчики используют GPUI, нативный UI-фреймворк на Rust с GPU-ускорением. Мобильные приложения сохранят нативный интерфейс, но будут использовать общую с десктопом логику на Rust. Тестовый клиент Discord Phoenix потребляет всего 290,2 МБ оперативной памяти. Для сравнения, нынешний Discord у некоторых пользователей занимает 1-2 ГБ и больше. Правда, полноценного сравнительного тестирования пока нет. Discord использует Rust ещё с 2018 года: на нём уже работают части инфраструктуры, голосовые технологии и отдельные компоненты клиента. Новая версия должна сохранить привычный интерфейс, но стать быстрее и экономнее по памяти. Пользовательское тестирование планируют начать скоро, точной даты релиза пока нет. Источник: https://x.com/svishnevskiy/status/2118081920194203799
85 · 1.9K ·
R

Открытая публичная лента из поискового индекса ChatCrawler — «Google по публичному Telegram»; обновляется по мере обхода площадки. Время — UTC.

Только публичный контент, официальный API Telegram. О проекте · Вопросы · Границы индекса · Убрать страницу из выдачи · Каталог · Поиск · Как мы считаем