Я заставил LLM писать Rust полгода. Вот что они стабильно ломают

Полгода использовал Claude, GPT и Cursor как полноценного второго разработчика на Rust в проде. Собрал семь категорий ошибок, которые модели стабильно делают и которые проходят cargo build, cargo test, иногда cargo clippy и при этом являются UB или скрытыми архитектурными ловушками. Lifetime laundering, std::sync::Mutex через .await, Drop у транзакций, unaligned read, async cancellation, orphan rule и массивы на стеке. Разбираю, почему именно Rust ломает LLM и что с этим делать.

https://habr.com/ru/articles/1035712/

#Rust #LLM #unsafe #async #tokio #miri #AI

Я заставил LLM писать Rust полгода. Вот что они стабильно ломают

Полгода я использовал Claude, GPT и Cursor как основной инструмент для написания Rust-кода в проде. Не как «помощник для бойлерплейта», а как полноценного второго разработчика на монолите примерно в...

Хабр

#datocurioso

¿Sabían que Tokio no siempre fue la capital de Japón y que su nombre actual significa literalmente Capital del Este?

Durante más de 1000 años, la ciudad de Kioto fue el centro del imperio y el hogar de la familia real. La historia cambió en el año 1603 cuando un líder militar llamado Tokugawa Ieyasu tomó el control del país y estableció su base de gobierno en un pequeño pueblo de pescadores llamado Edo. Este pueblo comenzó a crecer de forma muy rápida debido a la construcción de castillos, canales de agua y caminos que conectaban con el resto de las provincias, transformándose en el centro económico y político real de toda la región.

El cambio definitivo ocurrió en el año 1868 cuando el emperador Meiji decidió mudar su residencia oficial desde Kioto hacia el castillo de Edo. En ese momento la ciudad fue renombrada oficialmente como Tokio para marcar el inicio de una nueva época de modernización. Hoy en día, el antiguo castillo del emperador se conserva como el Palacio Imperial en el centro de la ciudad, rodeado por los modernos rascacielos y trenes de una de las zonas urbanas más pobladas y grandes del planeta.

— A. Eldritch, Periodista, Locutor, podcaster y bloger del fediverso

Alt text via @altbot y @TeLoDescribot

#Historia #Tokio #Japón #Viajes #Curiosidades

dial9: A microscrope for Tokio (and Rust applications in general)

dial9는 Rust 및 Tokio 애플리케이션의 동작을 나노초 단위로 상세하게 추적하고 분석할 수 있는 도구입니다. Tokio 런타임 이벤트, CPU 프로파일링, 커널 스케줄링 이벤트, 애플리케이션 커스텀 이벤트 등을 수집하여 문제 발생 후 원인 분석에 유용합니다. tokio-console과 달리 실시간 디버깅이 아닌 사후 분석에 초점을 맞추며, S3 등 외부 저장소로 추적 데이터를 내보낼 수 있어 프로덕션 환경에서도 활용 가능합니다. CPU 프로파일링은 Linux perf 이벤트를 활용하며, 여러 런타임을 동시에 추적할 수 있습니다. Rust 비동기 코드의 성능 문제 및 동작 이해에 매우 효과적인 툴입니다.

https://github.com/dial9-rs/dial9

#rust #tokio #profiling #async #observability

Твой async fn на самом деле enum, а Pin нужен потому, что Rust наступил на грабли самоссылающихся структур

async fn в Rust — это не магия и не зелёный поток, а обычный enum, который компилятор генерирует за тебя. Разбираем, почему Future это машина состояний, зачем нужен Pin, как работает Waker и executor, и как одна .await -точка может незаметно заставить твой сервис есть память гигабайтами.

https://habr.com/ru/articles/1033710/

#rust #async #tokio #pin #futures #executor #waker #async_fn #cargoexpand #undefined_behavior

Твой async fn на самом деле enum, а Pin нужен потому, что Rust наступил на грабли самоссылающихся структур

TL;DR. Каждый async fn в Rust компилируется в enum-стейт-машину. Размер этой стейт-машины равен размеру самого толстого варианта, поэтому забытая через .await переменная на пару мегабайт превращается...

Хабр