Rust Portal
1.83K subscribers
28 photos
4 videos
28 links
Присоединяйтесь к нашему каналу и погрузитесь в мир для Rust-разработчика

Связь: @stepikm
Download Telegram
# docs․rs: изменение целевых платформ по умолчанию

Сервис документации docs․rs обновил список платформ, для которых по умолчанию собирается документация Rust-библиотек.

Основные изменения:

macOS: aarch64-apple-darwin (Apple Silicon) заменил x86_64-apple-darwin (Intel). Это отражает переход Apple на собственные ARM-процессоры и изменение статуса платформ: ARM теперь Tier 1, x86_64 понижен до Tier 2.

Linux: aarch64-unknown-linux-gnu (ARM64) заменил i686-unknown-linux-gnu (32-bit). Крупные дистрибутивы Linux прекращают поддержку 32-битных систем.

Полный список платформ по умолчанию:
- x86_64-unknown-linux-gnu
- aarch64-apple-darwin
- x86_64-pc-windows-msvc
- aarch64-unknown-linux-gnu
- i686-pc-windows-msvc

Авторы библиотек могут явно указать нужные платформы через метаданные [package.metadata.docs.rs] в Cargo.toml. docs․rs продолжает поддерживать все доступные в Rust платформы.

📖 Подробнее в блоге Rust
👍17
🔧 Универсальный CLI с Clap

Clap — это самый популярный фреймворк для создания CLI приложений в Rust экосистеме. Он используется практически везде: от cargo и rustup до ripgrep и bat. Clap предоставляет декларативный и процедурный API для парсинга аргументов, автоматически генерирует help сообщения и поддерживает автодополнение для всех популярных shell'ов.

💡 Основные моменты:
- Derive макросы для определения CLI через структуры — минимум boilerplate кода
- Автоматическая генерация man страниц и shell completions
- Встроенная валидация аргументов и красивые сообщения об ошибках
- Поддержка субкоманд, флагов, позиционных аргументов и переменных окружения

📌 GitHub: https://github.com/clap-rs/clap
9👏3
🦀 Rust в CodeQL стал общедоступным

GitHub выпустил CodeQL 2.23.3 — и это важно для Rust-разработчиков.

Что нового:

Поддержка Rust теперь доступна всем пользователям GitHub code scanning. Больше не бета, можно использовать в продакшене для поиска уязвимостей.

Первый security query для Rust:
Добавлен rust/insecure-cookie — находит cookies без атрибута Secure, которые могут передаваться по незащищённым каналам.

Пример того, что теперь ловится:
//  Небезопасно
let cookie = Cookie::new("session", token);

// Безопасно
let cookie = Cookie::build("session", token)
.secure(true)
.finish();


Бонус для C/C++:
Режим build-mode: none теперь GA — можно сканировать проекты даже без полной сборки.

Что это значит?
Если используете GitHub Advanced Security — автоматический анализ Rust-кода уже работает. Для остальных — отличный повод попробовать CodeQL локально.

Полный changelog
🔥151
🦀 Цели Rust на вторую половину 2025 года

Команда Rust опубликовала планы на оставшиеся 3 месяца 2025 года, сгруппировав их по 4 флагманским направлениям:

🔹 Beyond the &
— пользовательские смарт-поинтеры станут такими же удобными, как встроенные ссылки. Это откроет дорогу для более эргономичной интеграции с C++ и Python.

🔹 Unblocking dormant traits
— разблокировка возможностей системы трейтов:
• Polonius для новых паттернов заимствования
• Next-gen trait solver готов к стабилизации
• In-place initialization для async fn в dyn Trait

🔹 Faster compilation
— ускорение компиляции на 20-30% через параллелизацию фронтенда и production-ready Cranelift бэкенд. Стабилизация -Zbuild-std для embedded и Rust for Linux.

🔹 Higher-level Rust
— фокус на высокоуровневые сценарии:
• cargo script для однофайловых программ
• ergonomic ref-counting для удобной работы с Rc/Arc

Ежемесячные отчеты о прогрессе будут публиковаться до конца года.

🔗rustblog
👍285🔥1
Forwarded from Mentorix
На Mentorix вышли сразу два новых бесплатных курса — по Go и Rust. Два языка, на которых сегодня пишут самую требовательную инфраструктуру: от Docker и Kubernetes до браузерных движков и системных утилит.

Golang основы
Go — язык от Google с простым синтаксисом и строгой типизацией. Удобная точка входа в backend-разработку. В курсе: синтаксис, типы, структуры, интерфейсы, пакеты и работа с модулями.
Rust — основы языка программирования
Rust — язык для тех, кому важны производительность и надёжность без сборщика мусора. В курсе: установка и структура проекта, компиляция, Cargo, контроль потока выполнения и базовые конструкции языка.

Оба курса полностью бесплатные, проходить можно в своём темпе.

Go
Rust
8
🦀 Rust 1.95 — `if let` guards в match-выражениях

16 апреля состоялся релиз Rust 1.95. Ключевое нововведение — поддержка if let guards в арках match, которая развивает концепцию let chains из версии 1.88.

Ранее для подобной логики требовались вложенные конструкции if let внутри тела арки:

// До 1.95
match msg {
Msg::Data(bytes) => {
if let Ok(text) = str::from_utf8(bytes) {
process(text);
}
}
_ => {}
}

// Начиная с 1.95
match msg {
Msg::Data(bytes) if let Ok(text) = str::from_utf8(bytes) => {
process(text);
}
_ => {}
}


Вторым заметным дополнением стал макрос cfg_select! — компиляционный аналог match по cfg-предикатам. По функциональности он соответствует популярному крейту cfg-if, но теперь доступен из стандартной библиотеки, что позволяет исключить внешнюю зависимость:

cfg_select! {
unix => { fn platform() -> &'static str { "unix" } }
windows => { fn platform() -> &'static str { "windows" } }
_ => { fn platform() -> &'static str { "other" } }
}


Помимо этого, в релизе стабилизированы новые методы атомарного обновления, а также оптимизирована работа str::contains на архитектуре aarch64 за счёт использования NEON.

📎 blog.rust-lang.org/2026/04/16/Rust-1.95.0
🔥16👍51
🦀 RustFS — альтернатива MinIO на Rust

В трендах GitHub держится RustFS — S3-совместимое объектное хранилище на Rust. По заявленным бенчмаркам — в 2.3 раза быстрее MinIO на объектах 4 КБ.

Проект стал особенно актуален после того, как MinIO перевёл свой open-source репозиторий в maintenance-режим.

Главные отличия от MinIO:
— Лицензия Apache 2.0 вместо AGPLv3 — можно свободно встраивать в коммерческие продукты
— 100% совместимость с S3 API: существующие SDK и клиенты работают без изменений

docker run -d -p 9000:9000 -p 9001:9001 \
-v $(pwd)/data:/data \
rustfs/rustfs:latest


Что стоит учитывать: проект пока в alpha/beta, в продакшен не рекомендуется. На больших последовательных чтениях MinIO всё ещё быстрее (~53 против ~23 Гбит/с), распределённый режим официально не зарелижен.

📎 github.com/rustfs/rustfs
👍10
🦀 Rust приходит в ядро CPython

8 апреля команда Rust for CPython опубликовала апрельский отчёт. Гвидо ван Россум публично поддержал инициативу.

Статус: сборка CPython с Rust успешно работает в CI на всех платформах. Идёт проектирование Rust API для CPython.

Как это будет выглядеть: на первом этапе — только опциональные extension-модули. Rust-компилятор при сборке стандартного CPython не потребуется. Вопрос о превращении Rust в обязательную зависимость отложен на отдельный будущий PEP.

Сроки: черновик PEP — июнь–июль 2026, Python 3.16 beta 1 — май 2027, релиз — октябрь 2027.

Главный мотив — безопасность памяти. Каждый use-after-free во внутренностях интерпретатора превращается в уязвимость для всей экосистемы Python.

📎 blog.python.org/2026/04/rust-for-cpython-2026-04
🥰15🤮21👍1🔥1🤯1
📘 На новой платформе Mentorix вышел курс — «Rust для продвинутых»
Уже знакомы с Rust и хотите перейти на следующий уровень? Этот курс — именно то, что нужно, чтобы прокачать свои навыки.

🔍 Что вы получите:
• Глубокое понимание ключевых тем: generics, lifetimes, async, управление памятью
• Решение реальных инженерных задач: параллелизм, системное программирование, архитектура
• Более 200 интерактивных заданий с автопроверкой — всё в браузере, без установки, в удобное для вас время

🎓 Сертификат по завершении — добавьте его в резюме или профиль LinkedIn

🚀 Прокачайте Rust с пользой и удовольствием. Начните уже сегодня и получите скидку 50%, которая действительна в течение 24 часов

👉 Пройти курс на Mentorix

На платформе также есть бесплатные курсы
💩43🤔2🤡1
🦀 Rust 1.96 — копируемые range-типы и `assert_matches!`

28 мая вышел Rust 1.96. Главное — новые range-типы из RFC 3550, которые наконец реализуют Copy.

Старые std::ops::Range напрямую реализуют Iterator, поэтому Copy им сделать было нельзя. В core::range появились новые типы через IntoIterator:

use core::range::Range;

let r: Range<usize> = (0..10).into();
let copy = r; // r всё ещё доступен


Полный переход — в edition 2027.

Второе — стабилизированы assert_matches! и debug_assert_matches!. Показывают значение при падении:

use core::assert_matches::assert_matches;

let result: Result<i32, _> = Err("oops");
assert_matches!(result, Ok(_));
// panic: Err("oops")


Ещё: для WebAssembly undefined-символы теперь hard linker error, закрыты две CVE в Cargo для сторонних реестров.

📎 blog.rust-lang.org/2026/05/28/Rust-1.96.0
👍101
🚀 На платформе Mentorix вышел курс — «Kubernetes: от основ до продакшена»

🐳 Уже работаете с Docker и хотите вырасти из «запустить контейнер локально» в инженера, который держит кластер в проде? Этот курс — про инженерию: как развернуть, масштабировать и эксплуатировать сервисы в Kubernetes так, чтобы они не падали под нагрузкой и переживали отказ узлов.

⚙️ Полный стек: Pods, Deployments, Services, Ingress, ConfigMap и Secrets, тома и StatefulSet, Helm, автоскейлинг (HPA), RBAC, мониторинг через Prometheus + Grafana

🧩 Более 400 интерактивных заданий с автопроверкой — пишете манифесты и команды прямо в браузере

🚀 Финальный проект: рабочее приложение в кластере с балансировкой, автоскейлингом и мониторингом — в портфолио и на собеседования

🏅 Сертификат по завершении — в резюме или LinkedIn

🔥 Скидка 50% только 24 часа

👉 Забрать курс

━━━━━━━━━━━━━━

🎁 Также доступны бесплатные курсы с бессрочным доступом:

⚡️ Golang — основы языка

🐳 Docker: первые шаги

🔧 Git для начинающих

🖥 Основы командной строки Linux

📚 Все бесплатные курсы Mentorix
🤮21👎1💩1🤡1
🦀 Burn 0.21 — Rust ML-фреймворк с distributed training

Свежий релиз Burn — deep learning фреймворка на Rust. Главное в 0.21: накладные расходы фреймворка упали до 8 раз, появилось распределённое обучение и новый CPU-бэкенд.

Что нового

Differentiable collectives — нативная поддержка распределённого обучения на нескольких GPU с автоматической синхронизацией градиентов
burn-flex — новый CPU-бэкенд, написанный полностью на Rust, без зависимостей от ndarray. Заточен под WebAssembly, embedded и небольшие модели
burn-dispatch — глобальный механизм выбора бэкенда, шаг к убиранию Backend-generic из пользовательского API
— Ускорены ядра GEMV, top-k и FFT

Почему это интересно

Rust давно претендует стать вторым языком ML — после Python. Burn — один из немногих фреймворков, который реально работает end-to-end: от обучения до деплоя на embedded-устройстве без переписывания кода. Поддерживает CUDA, Metal, Vulkan, WebGPU и теперь нативный CPU.

Стартап Tracel AI, который стоит за Burn, недавно поднял раунд финансирования и запустил Burn-LM — движок инференса для LLM на базе Burn.

📎 burn.dev/blog/release-0.21.0
🔥8👍43🤮2