rusta::mann
187 subscribers
120 photos
79 links
Мемоблог упоротого растовика

Поделиться важным мнением можно сюда: @rustachat
Download Telegram
Проект servo поменял логотип. #неновости #rust
https://without.boats/blog/shipping-const-generics/

Лодочник пишет, что в следуюшем релизе раста планируют стабилизировать ограниченную реализацию const generics, которая позволит абстрагироваться от размера при работе с массивами.

Наконец перестанет быть стыдно при чтении документации библиотек для работы с массивами!

#article #rust
< мем из профунктора

Я сгорел, ведь правильно приготовленный type-driven design оберегает от кучи логических ошибок, особенно связанных с проверками инвариантов (пресловутый is_initialized() вместо типа, который гарантирован находиться в валидном состояннии всегда).

Рекоммендую прочитать Parse, don't validate, или ее растоадаптацию для хабра.

#article #rust
Rust больше не зависит от libgcc_s для генерации бэктрейсов, и использует "нативный" gimli.

🥳🥳🥳 (тыц)

#rust #неновости
Всё кроме anyhow и thiserror #ненужно

Разве что fehler из любви к Лодочнику^W ok-wrapping

UPD: меня убедили что snafu — годнота

#rust
В 2019 из компилятора Rust выпилили синтаксические плагины, и с тех пор в области интроспекции типчиков в мета-коде царит нищета: процедурные макросы, которые сейчас есть, мапят потоки токенов и имеют доступ только к маленькой части AST.

С тех пор никаких подвижек в стабилизации доступа к полноценному AST и compiler queries не было, что в целом понятно — утилиты, которые используют внутренние API rustc, периодически ломаются.

Но тем не менее, в ночниках доступен rustc_interface, с помощью которого можно наворачивать кастомные утилиты, которые используют компилятор для анализа кода (как, например, clippy или rustfmt).

И если на время проигнорировать нестабильность и ад поддержки совместимости таких штук с ночником, то rustc_interface в частности, и доступ к приватным API компилятора в целом, дает возможность писать "гибридные" макросы в build.rs.

Когда-нибудь я может быть даже напишу прототип :))

#мысливслух #rust
Forwarded from Блог*
#prog #rust

Начался опрос о состоянии Rust в 2020 году: https://blog.rust-lang.org/2020/09/10/survey-launch.html. Рекомендую поучаствовать, если вы как-то связаны с Rust. Если что, опрос доступен на нескольких языках, в том числе на русском.
У меня новый фаворит среди изменений, предложенных ревьювером.

Code Review might not make your code better, but it definitely will make it doper.

#codereview #rust
Экспериментальный генератор биндингов от Mozilla.

Умеет генерировать привязки сразу для нескольких языков, а не только C API

Пока что поддерживает Kotlin, Swift и Python3 в качестве таргетов

https://github.com/mozilla/uniffi-rs

#rust #opensource #tools
- для анального удовлетворения есть вещи получше ёршика
- Rust?
- например.

#цитаты #rust
Первая часть аналитического обзора Clippy и ее опций, от хороших ребят, занимающихся статическим анализом

#article #rust
Заголовок говорит сам за себя
Меня очень радует, что в и так очень приятный rustdoc продолжают добавлять QoL фичи 😊
Удобный инструмент для документации — залог ее наличия.

https://blog.guillaume-gomez.fr/articles/2020-12-04+doc%28alias%29+is+stable+and+it%27s+gonna+be+super+useful%21

#news #rust
Сейчас приходится описывать очень много однотипных объектов, которые различаются достаточно, чтобы их невозможно было определить одним шаблоном, и меня вгоняет в смертную тоску то количество бойлерплейта, которого требует C++ для описания базовых интерфейсов вроде операторов сравнения и конвертации в строковое представление для печати.

Две эти простые характеристики добавляют аж три метода в каждый класс, в двух разных файлах.

Я понимаю, что несправедливо сравнивать встроенную derive-кодогенерацию в Rust с C++, в котором такой фичи по умолчанию нет, но меня удручает, что C++ всю свою длительную эволюцию совершенно игнорирует подобные quality of life мелочи.

Генерирую С++ бойлерплейт питоном, как итог 👍

P.S: комментарии по поводу того, что я не осилил C++ принимаются в Личку Антона.

#cpp #rust #бомбежкипост
https://docs.rs/plutonium/0.5.2/src/plutonium/lib.rs.html#122-124

Макрос для добавления зирокоста в любой код

Helping you make your programs less safe. (c)

#rust