Rust
8.76K subscribers
506 photos
44 videos
3 files
1.04K links
Rust programming language

По всем вопросам- @workakkk

#VRHSZ
Download Telegram
Dimforge выпустила Nexus - кроссплатформенный GPU physics engine, полностью написанный на Rust. Даже шейдеры. 🦀

Что получилось:

→ в 2 раза быстрее прошлой WGSL-реализации
→ работает в браузере через WebGPU
→ есть Python bindings для RL training workflows
→ кроссплатформенность: desktop, web и mobile

Rapier, их движок rigid body physics, тоже получил крупные улучшения для робототехники: joint motors, articulation bodies и более точную симуляцию моделей роботов.

Dimforge тихо собирает одну из самых серьёзных Rust-инфраструктур для физики. Q2 2026, похоже, стал для них самым сильным кварталом.

dimforge.com/blog/2026/07/01/dimforge-Q2-technical-report
❤‍🔥22👍105🔥3💋1
Rust без unsafe всё-таки может словить UB 😬

В сети разошёлся пример: код компилируется на stable Rust, не содержит ни одного unsafe-блока — и при этом позволяет получить dangling reference.

Причина не в том, что borrow checker внезапно «бесполезен», а в soundness-баге компилятора, связанном с lifetime и типами функций. Проблема известна Rust-команде как high-priority unsoundness issue и воспроизводится начиная с Rust 1.66.

То есть формула «safe Rust гарантированно исключает UB» имеет важную оговорку: если сам компилятор и стандартная библиотека sound.

Rust всё ещё сильно сокращает класс memory-safety ошибок - просто даже у borrow checker бывают баги.
🤔22🌭43🔥3👍2💯2💊2🦄1
🦀 Rust вводит официальные правила использования LLM при работе над `rust-lang/rust`

Это не запрет ИИ и не позиция всего проекта Rust. Политику приняли команды, работающие с основным репозиторием языка.

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

Главный принцип:

> LLM можно использовать для анализа, проверки, уточнения и ревью, но не для самостоятельного создания изменений.

AI-сгенерированный код допускается только для заранее согласованных и некритичных задач. Автор должен:

- раскрыть использование LLM;
- добавить тесты;
- самостоятельно проверить результат;
- понимать каждую строку изменения.

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

Текст, созданный моделью для issue, PR или комментариев, тоже нужно явно помечать. При этом ревьюер не обязан проверять AI-сгенерированный PR и может закрыть его при нарушении политики.

Подробнее:
https://blog.rust-lang.org/inside-rust/2026/08/05/rust-langrust-is-adopting-an-llm-policy/
👍55🔥137🖕2🫡2
Cargo готовят к большой перестройке 🦀

Лид команды Cargo Ed Page опубликовал vision-документ о будущем главного инструмента Rust.

Самые интересные идеи:

- перевести Cargo на async/await и лучше распараллелить работу;
- добавить plumbing-команды в духе Git;
- перейти на PubGrub для более понятного разрешения зависимостей;
- улучшить provenance crates и доверие к пакетам;
- вынести использование unsafe в метаданные для аудита;
- усилить контроль над proc-macro и build scripts.

Отдельно затронуты AI-агенты: Cargo не хотят переделывать «под ИИ». Идея проще — ускорить сборки, улучшить сигналы и безопасность зависимостей, что одинаково полезно и людям, и агентам.

Это пока не roadmap, а приглашение сообщества обсудить будущее Cargo.

Источник:
https://epage.github.io/blog/2026/08/cargo-vision/

#Rust #Cargo #RustLang #DevTools
39🔥20🥰6👍2🥱1
🚀 Neo4j без сервера: GraphForge запускает полноценный Cypher прямо внутри Python-скрипта

GraphForge занимает редкую нишу между NetworkX и серверными графовыми БД. Вы получаете встроенный графовый движок на Rust, полный openCypher и хранение проекта в обычной директории.

Что внутри:

- четыре независимых слоя на Rust: parser → IR → planning → execution;
- результаты сразу возвращаются как Apache Arrow Table;
- данные легко передаются в Pandas и Polars;
- постоянное хранение построено на Parquet;
- встроены PageRank, Louvain и гибридный текстово-векторный поиск;
- Python- и Node.js-биндинги работают поверх одного движка.


from graphforge import GraphForge

graph = GraphForge("research/")

result = graph.execute("""
MATCH (a)-[:CITES]->(b)
RETURN a.title, b.title
""")

print(result.to_pandas())


При этом GraphForge честно позиционируется как инструмент исследовательского и notebook-масштаба. Для миллиардных графов, высокой нагрузки и многопользовательского доступа по-прежнему нужна серверная БД.

Python и Node.js доступны сейчас, Swift и Kotlin находятся в планах. Лицензия — Apache 2.0.

https://github.com/CurateLabs/graphforge

#RustLang #Python #OpenSource #GraphDatabase #DataScience #KnowledgeGraph
🔥7👍62🥱2😁1
## Сколько незаконченных Git-репозиториев лежит у вас на диске?

drydock показывает их все в одном терминальном интерфейсе:

- где остались незакоммиченные изменения;
- какие коммиты ещё не отправлены;
- где забыты stash, конфликт или незавершённый rebase;
- какие проекты изменились после последнего тега и готовы к новому релизу.

Инструмент проверяет не только текущую ветку, поэтому забытая работа в локальной feature-ветке тоже попадёт в список.


brew install yetidevworks/drydock/drydock

# или
cargo install drydock


После установки достаточно запустить:


drydock


Есть фильтры, fuzzy-поиск, JSON-вывод, открытие проекта в редакторе и массовый fetch. Состояние репозиториев обновляется автоматически через файловый watcher.

drydock написан на Rust с использованием Ratatui и работает на macOS и Linux.

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

GitHub:
https://github.com/yetidevworks/drydock
🔥145🥱3🥰2
🔥 Одна строка в конфиге ускорила production-ответ с 126–230 мс до менее чем 9 мс

Paweł Urbanek собрал очень практичный гайд по профилированию Rust, где оптимизации идут не по принципу «что интереснее», а по реальной отдаче.

Из кейсов:

N+1 SQL → 21 запрос превратили в один JOIN, функция ускорилась со 104 до 70 мкс.

Три последовательных HTTP-вызова → tokio::try_join!, итоговое время почти вдвое меньше.

Неправильно настроенный Brotli в maplibre/martin → скорость была всего 27,9 KB/s. Одна правка конфига дала примерно 57x ускорение, а latency упала до <9 мс.

Ещё жёстче кейс с write lock, который держали на всём HTTP round trip. После переноса блокировки P95 для читателей рухнул с 1,11 секунды до 9,42 мкс.

И отдельная классика Tokio: unbounded channel молча накопил 73 сообщения, потому что consumer не успевал. Никакой ошибки, просто медленное движение к OOM.

Полезный порядок из гайда:

сначала SQL и HTTP, потом locks и channels, и только после этого CPU profiling.

Потому что один лишний поход в базу обычно стоит дороже, чем сотни мелких оптимизаций внутри hot loop.

🔗 https://hotpath.rs/blog/profiling-rust-guide

#Rust #Performance #Profiling #Tokio #Backend
👍29🔥15😁84🤔1
🦀 Маленькая команда из Нидерландов сейчас меняет сам Rust изнутри.

Hexcat публикует ежемесячные отчёты о работе над Rust compiler и фактически занимается развитием ядра языка вместе с официальным сообществом.

В последних обновлениях команда работает над тем, что редко попадает в новости, но напрямую влияет на будущее Rust:

новый trait solver, который должен улучшить обработку типов и приблизить стабилизацию новых возможностей;

переработка системы lifetime и region constraints;

развитие const generics;

улучшения rustc, документации и инфраструктуры вокруг компилятора.

Инженеры Hexcatр аботают с самим компилятором, системой типов и стандартной библиотекой Rust. Среди их клиентов и спонсоров - крупные технологические компании, включая Amazon и Google.

Пока весь мир обсуждает новые языки для AI, команды вроде Hexcat делают фундамент: быстрее компиляция, мощнее типовая система и более надёжный Rust для системного программирования будущего.

Маленькая команда. Огромное влияние на один из самых важных языков современности. 🦀

https://hexcat.nl/updates/
🔥64👍187🥰4🤣3😁2🥴1
Rust when you use unsafe
49😁37👍6💯4👾2❤‍🔥1
📡 MQTT прямо в терминале - и без боли.

LazyMQTT - TUI-клиент для просмотра, анализа и публикации MQTT-сообщений.

Что умеет:

- показывает live-дерево топиков;
- хранит историю сообщений;
- умеет удобно отображать JSON, XML и Protobuf;
- поддерживает алерты;
- показывает аналитику трафика;
- позволяет публиковать сообщения прямо из терминала.

Проект написан на Rust и построен на Ratatui.

Для IoT-разработчиков, embedded-инженеров и всех, кто работает с MQTT-брокерами, выглядит как очень удобная альтернатива тяжёлым GUI-клиентам.

GitHub:
https://github.com/ScottFelder/lazymqtt

#Rust #MQTT #IoT #TUI #Terminal #OpenSource
12👍2
This media is not supported in your browser
VIEW IN TELEGRAM
🌳 Как сделать поведение AI предсказуемым: Bonsai строит логику через Behavior Trees

Bonsai — open-source реализация Behavior Trees на Rust для детерминированного AI, робототехники и игровых систем. Недавно у проекта появились и Python bindings.

Вместо огромного количества if/else поведение собирается из узлов: Sequence, Select, If, While, WhenAll, WhenAny, Race. Каждый узел возвращает Success, Failure или Running, а дерево само решает, что выполнять дальше.

Такой подход удобен там, где нужна не «магия» LLM, а жёстко контролируемая логика: NPC, автономные роботы, игровые агенты, навигация и сложные реактивные системы. Долгие задачи можно выносить в фоновые потоки, чтобы дерево не блокировалось.

Для Rust:

bonsai-bt = "*"

Для Python:

pip install bonsai-bt

GitHub: github.com/Sollimann/bonsai
👍17🔥32🥰1
RUSTACEANS_BE_LIKE
😁417💊7❤‍🔥4👍3🤷‍♂1🤣1
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
31🔥10👏4
Forwarded from Rust Books
👣 Rust пытается наконец уменьшить раздувающийся `target`.

В 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
👍2795❤‍🔥1
⚡️ Переписывание Bun на Rust превращается в очень странный AI-эксперимент

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
🔥208🙈6😁4🗿4👍2
Вышел Rust 1.98. Но больше релиза сегодня обсуждают взлом популярного crate

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/
🤯21👍166🔥3😈2🙉2👌1🎃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

Подписывайся на нужные направления и собирай себе ленту, которая реально двигает вперёд.
4👍4🔥4💊3🍌1
This media is not supported in your browser
VIEW IN TELEGRAM
Автор `uv` пришёл в OpenAI и сразу ускорил запуск Codex CLI примерно в 25 раз

Астрэл-гуру Rust, стоящий за одним из самых быстрых Python-инструментов uv, после присоединения к OpenAI взялся за производительность Codex CLI.

Результат - время холодного старта сократилось примерно в 25 раз.

На практике разница ощущается сразу: Codex теперь открывается практически мгновенно и субъективно стартует даже быстрее Pi и Claude Code.

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

https://x.com/Machinelearrn/status/2091103150014935526

@rust_code
🔥41👍14😁42🥰2
Что произошло в Rust за неделю 🦀

Неделя получилась очень насыщенной.

Главное:

— В 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-кода.
🔥7👍21