Код на скриншоте показывает, что каждая функция добавляет свой контекст, и в итоге при падении мы видим полную цепочку причин, а не просто финальную ошибку.
Что происходит:
hello0 выбрасывает ошибку с текстом "!!!!!".
hello1 вызывает hello0 и добавляет свой контекст "world".
hello2 вызывает hello1 и добавляет контекст "hello".
main вызывает hello2 и при ошибке печатает весь стек причин.
Что такое цепочка причин:
Это последовательность контекстов, которые добавлялись на каждом уровне вызовов.
Благодаря этому видно не только то, что сломалось, но и где именно.
Каждый уровень в стеке — это подсказка:
какая функция работала,
какой контекст она добавила,
и что пошло не так в конечном итоге.
Вывод при запуске:
hello
Caused by:
0: world
1: !!!!!
Как это читать:
Сверху -контекст "hello".
Под ним - контекст другой функции "world".
А внизу - исходная причина ошибки "!!!!!".
Такой подход делает отладку проще:
видно весь маршрут ошибки — от места падения до верхнего уровня.
#rust #junior
Please open Telegram to view this post
VIEW IN TELEGRAM
👍28❤8🥰3😢1
🌟 Stelliberty: Кроссплатформенный клиент Clash на Flutter и Rust
Stelliberty предлагает современный интерфейс с уникальным дизайном MD3M. Приложение поддерживает управление подписками и мониторинг трафика, обеспечивая высокую производительность благодаря Rust. Поддержка нескольких языков и интеграция с Windows делают его удобным для пользователей.
🚀Основные моменты:
- 🎨 Уникальный дизайн на основе Material Design 3
- 🦀 Высокопроизводительный бэкенд на Rust
- 🌐 Многоязычная поддержка
- 🔧 Полное управление подписками
- 📊 Реальное время мониторинга трафика
📌 GitHub: https://github.com/Kindness-Kismet/Stelliberty
#rust
Stelliberty предлагает современный интерфейс с уникальным дизайном MD3M. Приложение поддерживает управление подписками и мониторинг трафика, обеспечивая высокую производительность благодаря Rust. Поддержка нескольких языков и интеграция с Windows делают его удобным для пользователей.
🚀Основные моменты:
- 🎨 Уникальный дизайн на основе Material Design 3
- 🦀 Высокопроизводительный бэкенд на Rust
- 🌐 Многоязычная поддержка
- 🔧 Полное управление подписками
- 📊 Реальное время мониторинга трафика
📌 GitHub: https://github.com/Kindness-Kismet/Stelliberty
#rust
GitHub
GitHub - Kindness-Kismet/Stelliberty: A modern client built with Flutter and Rust, powered by Mihomo
A modern client built with Flutter and Rust, powered by Mihomo - Kindness-Kismet/Stelliberty
🔥5❤2👍2🥰1
⚡️ Microsoft хочет убрать весь C и C++ к 2030 году - и заменить их Rust
В Microsoft поставили амбициозную цель: к 2030 году устранить каждую строку C и C++ из своих кодовых баз.
Чем заменить?
Ответ ожидаемый —-Rust.
Причем переписывать код собираются не «по старинке», а с помощью ИИ.
По словам Galen Hunt, Distinguished Engineer в Microsoft Research, ставка делается на комбинацию:
- AI
- алгоритмов автоматического рефакторинга
Их «North Star»-метрика звучит почти фантастически:
- 1 инженер
- 1 месяц
- 1 миллион строк кода
Да, миллион строк кода на человека в месяц.
Что вызывает вопросы
- Переписываются огромные, battle-tested кодовые базы
- Пользователь не получает очевидной новой ценности
- Скорость переписывания агрессивная, а риски — системные
- Новый код навязывается другим командам до полноценной стабилизации
- При этом часто подразумевается вера, что Rust «по определению» безопаснее и почти не содержит багов
Критики называют это классическим примером инженерного переоценивания языка:
- язык =/= архитектура
- безопасность памяти ≠ отсутствие логических ошибок
- массовый rewrite — один из самых рискованных типов изменений
Почему это все же важно
- Microsoft действительно страдает от уязвимостей в C/C++
- Rust уже показал ценность в low-level системных компонентах
- AI-переписывание кода в таком масштабе — новый прецедент для индустрии
Вопрос в том, можно ли безопасно и разумно переписать десятки миллионов строк зрелого кода с помощью ИИ - и не заплатить за это стабильностью.
#Microsoft #Rust
В Microsoft поставили амбициозную цель: к 2030 году устранить каждую строку C и C++ из своих кодовых баз.
Чем заменить?
Ответ ожидаемый —-Rust.
Причем переписывать код собираются не «по старинке», а с помощью ИИ.
По словам Galen Hunt, Distinguished Engineer в Microsoft Research, ставка делается на комбинацию:
- AI
- алгоритмов автоматического рефакторинга
Их «North Star»-метрика звучит почти фантастически:
- 1 инженер
- 1 месяц
- 1 миллион строк кода
Да, миллион строк кода на человека в месяц.
Что вызывает вопросы
- Переписываются огромные, battle-tested кодовые базы
- Пользователь не получает очевидной новой ценности
- Скорость переписывания агрессивная, а риски — системные
- Новый код навязывается другим командам до полноценной стабилизации
- При этом часто подразумевается вера, что Rust «по определению» безопаснее и почти не содержит багов
Критики называют это классическим примером инженерного переоценивания языка:
- язык =/= архитектура
- безопасность памяти ≠ отсутствие логических ошибок
- массовый rewrite — один из самых рискованных типов изменений
Почему это все же важно
- Microsoft действительно страдает от уязвимостей в C/C++
- Rust уже показал ценность в low-level системных компонентах
- AI-переписывание кода в таком масштабе — новый прецедент для индустрии
Вопрос в том, можно ли безопасно и разумно переписать десятки миллионов строк зрелого кода с помощью ИИ - и не заплатить за это стабильностью.
#Microsoft #Rust
🤣67❤17👍12💊6🔥5🥰2
🎨 Snap Your Pixels to Perfection!
Pixel Snapper — инструмент для упорядочивания пикселей в идеальную сетку. Он помогает исправить неаккуратные и несогласованные элементы пиксельного искусства, созданного ИИ. Подходит для 2D-игровых активов и процедурного искусства, требующего точной сетки.
🚀Основные моменты:
- ✅ Упорядочивает пиксели по сетке.
- ✅ Поддерживает масштабирование разрешения.
- ✅ Привязывает цвета к строгой палитре.
- 🌐 Доступен как CLI и веб-версия.
📌 GitHub: https://github.com/Hugo-Dz/spritefusion-pixel-snapper
#rust
Pixel Snapper — инструмент для упорядочивания пикселей в идеальную сетку. Он помогает исправить неаккуратные и несогласованные элементы пиксельного искусства, созданного ИИ. Подходит для 2D-игровых активов и процедурного искусства, требующего точной сетки.
🚀Основные моменты:
- ✅ Упорядочивает пиксели по сетке.
- ✅ Поддерживает масштабирование разрешения.
- ✅ Привязывает цвета к строгой палитре.
- 🌐 Доступен как CLI и веб-версия.
📌 GitHub: https://github.com/Hugo-Dz/spritefusion-pixel-snapper
#rust
🔥20❤3🥰2🤗1
🎯 Высокопроизводительная распределённая платформа для предсказательных рынков, построенная на микросервисной архитектуре.
Она позволяет пользователям создавать, торговать и закрывать рынки прогнозов с поддержкой. Построена на Rust, она обеспечивает масштабируемость и надежность.
📌 GitHub: https://github.com/CryptomSol/prediction-market
#rust
Она позволяет пользователям создавать, торговать и закрывать рынки прогнозов с поддержкой. Построена на Rust, она обеспечивает масштабируемость и надежность.
📌 GitHub: https://github.com/CryptomSol/prediction-market
#rust
👍20❤6🥰3🔥1👌1🤗1
🚀 Погружение в "небезопасный" Rust
Corroded предлагает альтернативный взгляд на Rust, позволяя использовать "небезопасные" паттерны для оптимизации кода. Этот репозиторий демонстрирует, как обойти ограничения компилятора, предоставляя инструменты для работы с указателями, памятью и многопоточностью без традиционных предостережений.
🚀 Основные моменты:
- Использование unsafe блоков для повышения производительности.
- Удаление ограничений на указатели и ссылки.
- Работа с неинициализированной памятью и "потерянными" указателями.
- Поддержка многопоточности без синхронизации.
📌 GitHub: https://github.com/buyukakyuz/corroded
#rust
Corroded предлагает альтернативный взгляд на Rust, позволяя использовать "небезопасные" паттерны для оптимизации кода. Этот репозиторий демонстрирует, как обойти ограничения компилятора, предоставляя инструменты для работы с указателями, памятью и многопоточностью без традиционных предостережений.
🚀 Основные моменты:
- Использование unsafe блоков для повышения производительности.
- Удаление ограничений на указатели и ссылки.
- Работа с неинициализированной памятью и "потерянными" указателями.
- Поддержка многопоточности без синхронизации.
📌 GitHub: https://github.com/buyukakyuz/corroded
#rust
❤9🔥6🥰2😱2🤪2🤯1💔1