Rust теперь проверяет сам себя тем же инструментом, которым разработчики ловят breaking changes в crates.io 🦀
В стандартную библиотеку Rust интегрировали cargo-semver-checks. На это ушли месяцы работы, десятки PR и больше 15 000 строк кода.
В 2020 году нестабильный метод добавили в стабильный trait и сломали async-std на nightly. В 2021-м новый метод BuildHasher нарушил dyn-safety. В 2022-м исправление soundness-проблемы у ChunksMut случайно убрало Send и Sync.
А в марте 2026 года изменение trait привело к тому, что тесты Tokio перестали собираться на Windows. Проблема оказалась достаточно серьёзной для выпуска Rust 1.94.1.
Автор cargo-semver-checks Предраг Груевски пишет, что сам ревьюил эти изменения и вряд ли смог бы заметить ошибки вручную. Их не заметили и более опытные разработчики std.
Самой сложной частью оказалась правильное разделение stable, unstable, const-unstable и default-unstable API, чтобы CI не ругался на нормальные изменения nightly.
Теперь cargo-semver-checks сможет автоматически ловить целый класс таких проблем ещё до того, как они попадут в стабильный Rust.
🔗 http://predr.ag/blog/protecting-the-rust-stdlib-from-breakage
#RustLang #OpenSource #DevTools
В стандартную библиотеку Rust интегрировали cargo-semver-checks. На это ушли месяцы работы, десятки PR и больше 15 000 строк кода.
В 2020 году нестабильный метод добавили в стабильный trait и сломали async-std на nightly. В 2021-м новый метод BuildHasher нарушил dyn-safety. В 2022-м исправление soundness-проблемы у ChunksMut случайно убрало Send и Sync.
А в марте 2026 года изменение trait привело к тому, что тесты Tokio перестали собираться на Windows. Проблема оказалась достаточно серьёзной для выпуска Rust 1.94.1.
Автор cargo-semver-checks Предраг Груевски пишет, что сам ревьюил эти изменения и вряд ли смог бы заметить ошибки вручную. Их не заметили и более опытные разработчики std.
Самой сложной частью оказалась правильное разделение stable, unstable, const-unstable и default-unstable API, чтобы CI не ругался на нормальные изменения nightly.
Теперь cargo-semver-checks сможет автоматически ловить целый класс таких проблем ещё до того, как они попадут в стабильный Rust.
🔗 http://predr.ag/blog/protecting-the-rust-stdlib-from-breakage
#RustLang #OpenSource #DevTools
❤31🔥10👏4
Forwarded from Rust Books
В nightly Cargo скоро включат экспериментальный режим
-Zembed-metadata=no, который убирает лишнее дублирование метаданных внутри .rlib.Сейчас при сборке библиотеки Rust сначала создаёт
.rmeta, чтобы зависимые крейты могли начать компилироваться раньше. А потом те же метаданные ещё раз попадают в итоговый .rlib.То есть часть данных в
target просто хранится дважды.На тестах эффект получился вполне заметным.
Для
serde размер target в release-сборке уменьшился почти на 30%. Для самого Cargo в лучшем случае экономия составила около 33%, почти 300 МБ. В обычном dev-режиме выигрыш скромнее, около 5–8%, потому что там большую часть места съедают debug-информация и incremental compilation.Пока это только эксперимент для nightly. Cargo Team хочет посмотреть, не сломает ли изменение редкие сценарии, например ручную линковку
.rlib.Проблему огромных
target это не решит полностью, но убрать бесплатные дубликаты на диске выглядит как вполне логичное начало.https://blog.rust-lang.org/inside-rust/2026/08/18/reducing-target-dir-size-on-nightly/
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27❤9⚡5❤🔥1
⚡️ Переписывание Bun на Rust превращается в очень странный AI-эксперимент
Bun 1.4 задерживается уже около трёх месяцев, и автор Tero Piirainen считает, что проблема намного интереснее обычного сорванного релиза.
За последний месяц в репозитории Bun 15,8 тыс. коммитов сделал
По сути, Bun стал одним из крупнейших экспериментов: можно ли переписать важную продакшен-кодовую базу на Rust силами AI-агентов, когда человек в основном направляет процесс.
Отдельный вопрос, зачем вообще понадобился полный переход с Zig на Rust. Одним из аргументов была memory safety, но в новой кодовой базе всё ещё много
https://tipiirai.com/writing/bun-rust-rewrite-worries
@rust_code
Bun 1.4 задерживается уже около трёх месяцев, и автор Tero Piirainen считает, что проблема намного интереснее обычного сорванного релиза.
За последний месяц в репозитории Bun 15,8 тыс. коммитов сделал
robobun, ещё 1,6 тыс. — autofix-ci[bot], а Jarred Sumner — около 790. При этом у проекта накопилось больше 5 тыс. открытых PR.По сути, Bun стал одним из крупнейших экспериментов: можно ли переписать важную продакшен-кодовую базу на Rust силами AI-агентов, когда человек в основном направляет процесс.
Отдельный вопрос, зачем вообще понадобился полный переход с Zig на Rust. Одним из аргументов была memory safety, но в новой кодовой базе всё ещё много
unsafe, поэтому выгода выглядит не такой очевидной.https://tipiirai.com/writing/bun-rust-rewrite-worries
@rust_code
🔥21❤8🙈6🗿5😁4👍2
Вышел Rust 1.98. Но больше релиза сегодня обсуждают взлом популярного crate
Rust 1.98 уже доступен в stable. Среди заметных изменений - новые
Но параллельно в экосистеме произошёл серьёзный supply-chain инцидент.
Были скомпрометированы
Особенно неприятен масштаб:
Если сегодня собирали Rust-проекты, стоит проверить
Подробнее: https://opennet.ru/66108/
Rust 1.98 уже доступен в stable. Среди заметных изменений - новые
algebraic_* методы для f32/f64, которые разрешают более агрессивные оптимизации вычислений, и быстрый format_into для форматирования целых чисел без лишних аллокаций.Но параллельно в экосистеме произошёл серьёзный supply-chain инцидент.
Были скомпрометированы
arrayref 0.3.10 и append-only-vec 0.1.9. В них добавили зависимость proc-macro1, которая во время сборки скачивала и запускала удалённый бинарник на машине разработчика. То есть для заражения было достаточно просто собрать проект с вредоносной версией зависимости.Особенно неприятен масштаб:
arrayref имеет около 245 млн загрузок за всё время, а пострадавшая версия успела попасть в одну из самых популярных цепочек зависимостей Rust. Вредоносные версии уже удалены с crates.io.Если сегодня собирали Rust-проекты, стоит проверить
Cargo.lock: опасна именно arrayref 0.3.10, тогда как 0.3.9 и более ранние версии считаются чистыми.Подробнее: https://opennet.ru/66108/
🤯23👍16❤6🔥3😈2🎃2🙉2👌1
🔥 Хочешь быстрее расти в 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/books_englishhh
C++: t.me/cpluspluc
C#: t.me/csharp_1001_notes
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
Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.
Окружение решает больше, чем кажется.
Собрал папки и каналы, где можно быстрее влиться в нужное направление, следить за трендами и не вариться в своём пузыре.
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/books_englishhh
C++: t.me/cpluspluc
C#: t.me/csharp_1001_notes
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
Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.
❤5👍4🔥4💊3🍌1
This media is not supported in your browser
VIEW IN TELEGRAM
Автор `uv` пришёл в OpenAI и сразу ускорил запуск Codex CLI примерно в 25 раз
Астрэл-гуру Rust, стоящий за одним из самых быстрых Python-инструментов
Результат - время холодного старта сократилось примерно в 25 раз.
На практике разница ощущается сразу: Codex теперь открывается практически мгновенно и субъективно стартует даже быстрее Pi и Claude Code.
Если CLI запускается десятки раз в день, даже несколько сотен миллисекунд быстро превращаются в раздражение.
https://x.com/Machinelearrn/status/2091103150014935526
@rust_code
Астрэл-гуру Rust, стоящий за одним из самых быстрых Python-инструментов
uv, после присоединения к OpenAI взялся за производительность Codex CLI.Результат - время холодного старта сократилось примерно в 25 раз.
На практике разница ощущается сразу: Codex теперь открывается практически мгновенно и субъективно стартует даже быстрее Pi и Claude Code.
Если CLI запускается десятки раз в день, даже несколько сотен миллисекунд быстро превращаются в раздражение.
https://x.com/Machinelearrn/status/2091103150014935526
@rust_code
🔥46👍15😁4❤2🥰2
Что произошло в Rust за неделю 🦀
Неделя получилась очень насыщенной.
Главное:
— В crates.io произошла серьёзная supply-chain атака: были скомпрометированы
— Meta в этом году написала больше Rust-кода, чем за предыдущие девять лет вместе взятые.
— Rust активно двигается в GPU: новый research-проект переносит ownership/type safety в GPU-программирование через rustc и LLVM, при этом производительность уже близка к CUDA/HIP.
— Zed добавил self-hosted Sweep Next Edit модели через OpenAI-compatible interface.
— Экспериментальный Rust backend для JVM уже проходит больше 99% официальных Rust-тестов и поддерживает async/await, потоки, сеть и Java interoperability.
— Появляется всё больше coding-agent проектов на Rust: Waku, Jcode, Rustwright, FEDERaiDE и другие.
— Canonical вместе с University of Bristol исследует автоматический перевод больших C-проектов в Rust с помощью LLM, program analysis, fuzzing и formal methods. В качестве кейсов — AppArmor и snap-confine.
Rust всё сильнее выходит за рамки «безопасного системного языка» и превращается в платформу для AI tooling, GPU, JVM и автоматической модернизации legacy-кода.
Неделя получилась очень насыщенной.
Главное:
— В crates.io произошла серьёзная supply-chain атака: были скомпрометированы
arrayref, internment и append-only-vec. Вредоносные релизы тянули typosquatted-зависимость, которая запускала payload прямо во время сборки.— Meta в этом году написала больше Rust-кода, чем за предыдущие девять лет вместе взятые.
— Rust активно двигается в GPU: новый research-проект переносит ownership/type safety в GPU-программирование через rustc и LLVM, при этом производительность уже близка к CUDA/HIP.
— Zed добавил self-hosted Sweep Next Edit модели через OpenAI-compatible interface.
— Экспериментальный Rust backend для JVM уже проходит больше 99% официальных Rust-тестов и поддерживает async/await, потоки, сеть и Java interoperability.
— Появляется всё больше coding-agent проектов на Rust: Waku, Jcode, Rustwright, FEDERaiDE и другие.
— Canonical вместе с University of Bristol исследует автоматический перевод больших C-проектов в Rust с помощью LLM, program analysis, fuzzing и formal methods. В качестве кейсов — AppArmor и snap-confine.
Rust всё сильнее выходит за рамки «безопасного системного языка» и превращается в платформу для AI tooling, GPU, JVM и автоматической модернизации legacy-кода.
🔥41👍12❤9❤🔥2
Rust, который наконец становится понятным 🦀
Давно хочешь выучить Rust, но ownership, borrowing и lifetimes выглядят как отдельный вид боли?
Этот курс проведёт тебя с самого начала до уровня, где ты уже пишешь реальные системные и сетевые программы.
Ты разберёшь:
Ownership → Borrowing → ошибки → коллекции → Generics → Traits → модули → тесты → сетевой код
Никакого бесконечного чтения документации. После каждого урока ты сразу пишешь код, проходишь тесты и решаешь задачу с автопроверкой.
🔥 Rust с нуля
🔥 5–6 часов в неделю
🔥 Практика после каждого урока
🔥 Подойдёт после Python, JavaScript, Java и других языков
🔥 Можно начать сразу
В конце у тебя будет понимание Rust, с которым уже можно писать быстрые backend-сервисы, сетевые приложения и системные утилиты, а не смотреть на borrow checker как на врага.
Пора добавить Rust в свой стек. Начинай курс и пиши первый код уже сегодня: https://stepik.org/a/294885/
Давно хочешь выучить Rust, но ownership, borrowing и lifetimes выглядят как отдельный вид боли?
Этот курс проведёт тебя с самого начала до уровня, где ты уже пишешь реальные системные и сетевые программы.
Ты разберёшь:
Ownership → Borrowing → ошибки → коллекции → Generics → Traits → модули → тесты → сетевой код
Никакого бесконечного чтения документации. После каждого урока ты сразу пишешь код, проходишь тесты и решаешь задачу с автопроверкой.
🔥 Rust с нуля
🔥 5–6 часов в неделю
🔥 Практика после каждого урока
🔥 Подойдёт после Python, JavaScript, Java и других языков
🔥 Можно начать сразу
В конце у тебя будет понимание Rust, с которым уже можно писать быстрые backend-сервисы, сетевые приложения и системные утилиты, а не смотреть на borrow checker как на врага.
Пора добавить Rust в свой стек. Начинай курс и пиши первый код уже сегодня: https://stepik.org/a/294885/
🖕14❤1👍1🔥1🌚1
🦀 Один TUI, чтобы управлять всем локальным web-стеком.
Reeve - менеджер localhost-окружения для разработки, который собирает привычные dev-инструменты в одном терминальном интерфейсе.
Что умеет:
- переключать версии PHP;
- управлять Caddy, Apache и nginx;
- работать с базами данных;
- настраивать локальный SSL и DNS;
- управлять parked sites;
- смотреть live traffic;
- держать весь локальный стек под рукой без десятка отдельных команд.
Проект написан на Rust и использует Ratatui для интерфейса.
Для тех, кто устал вручную переключаться между nginx, PHP, базой, hosts и сертификатами — выглядит очень удобно.
GitHub:
https://github.com/yetidevworks/reeve
#Rust #DevTools #TUI #WebDevelopment #OpenSource
Reeve - менеджер localhost-окружения для разработки, который собирает привычные dev-инструменты в одном терминальном интерфейсе.
Что умеет:
- переключать версии PHP;
- управлять Caddy, Apache и nginx;
- работать с базами данных;
- настраивать локальный SSL и DNS;
- управлять parked sites;
- смотреть live traffic;
- держать весь локальный стек под рукой без десятка отдельных команд.
Проект написан на Rust и использует Ratatui для интерфейса.
Для тех, кто устал вручную переключаться между nginx, PHP, базой, hosts и сертификатами — выглядит очень удобно.
GitHub:
https://github.com/yetidevworks/reeve
#Rust #DevTools #TUI #WebDevelopment #OpenSource
🔥16❤3🥰1