← Все проекты
Проект / Rust

nik-rev/better-tokio-select: Better Tokio Select — макрос для Rust, который rustfmt может отформатировать

Заменяет стандартный tokio::select! на версию, совместимую с автоматическим форматированием кода.

Библиотека решает проблему несовместимости между tokio::select! и rustfmt. Вместо того чтобы мириться с неформатируемым кодом, можно подключить эту обёртку и получить ту же семантику, но с поддержкой автоматического форматирования.

★ 13 Rust Форки 0 Issue 0 Оценка 7/10 Карточка проверена

Для кого это

Для разработчиков на Rust, которые используют асинхронную библиотеку Tokio и хотят поддерживать код в едином стиле с помощью rustfmt.

Проблема / задача

Стандартный макрос tokio::select! ломает работу rustfmt — код остаётся неотформатированным, что портит читаемость и нарушает конвенции проекта.

Как это работает

Проект предоставляет альтернативный макрос tokio_select!, который использует синтаксис match .. вместо списка веток. Это позволяет rustfmt корректно обрабатывать конструкцию и форматировать её как обычный Rust-код. Макрос полностью повторяет функциональность оригинала, включая поддержку условий (if) и biased-режима.

Что видно по README

Библиотека решает проблему несовместимости между tokio::select! и rustfmt. Вместо того чтобы мириться с неформатируемым кодом, можно подключить эту обёртку и получить ту же семантику, но с поддержкой автоматического форматирования.

Ключевые возможности

Полная совместимость с tokio::select!Поддержка условий (if guards)Поддержка biased-режимаГлобальный импорт через #[macro_use]

Технологии

RustTokioproc-macrorustfmtExpressGo

Интересный факт

Для обхода ограничений rustfmt используется странный синтаксис с .. — это паттерн, который компилятор Rust принимает как корректный, но при этом вся конструкция становится валидным выражением.

С чего начать

  • Запустите rustfmt для форматирования кода

Оценка GitRadar

Удобство
8/10
Свежесть
6/10
Перспектива
7/10
Монетизация
2/10
Общая оценка
7/10

Вердикт GitRadar

Стоит попробовать, если вы используете Tokio и цените единообразие кода. Проект решает конкретную проблему, делает это элегантно и не добавляет лишних зависимостей.

Наблюдения по обновлениям

Проект скромный, но актуальный: последний релиз 2024 года, есть тесты, документация. Звёзд мало, но проблема, которую он решает, узкоспециализированная.

Что мы проверили

Карточка собрана по данным GitHub, README и структуре репозитория. Это не официальная документация проекта.

Исходный репозиторий
https://github.com/nik-rev/better-tokio-select
Лицензия
Apache-2.0
Создан на GitHub
29 марта 2026 г.
Последнее обновление репо
29 марта 2026 г.
Последняя проверка GitRadar
29 марта 2026 г.
Изученные файлы
README.md, src/lib.rs, Cargo.toml, Cargo.lock, tests/ui.rs, tests/tokio_select.rs

FAQ

Что это такое?

Альтернатива макросу tokio::select!, которую можно форматировать с помощью rustfmt.

Для кого подходит?

Для Rust-разработчиков, которые пишут асинхронный код на Tokio и используют автоматическое форматирование.

Источники

  • GitHub исходный код и активность
  • README описание, ссылки, стартовые материалы

Нужна помощь с nik-rev/better-tokio-select?

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