Провёл ваншот. На этот раз игроки меньше пытались развалить сюжет, но я смог нормально зарулить отклонение от модуля. Финальная боёвка окончилась победой, но драматически, с тремя персонажами из четырёх в бессознательном состоянии. Игроки довольны.
Я в восторге. Давно такой валидации не получал.
Я в восторге. Давно такой валидации не получал.
❤21🔥3🤮2💩2🤡2
#prog #rust #article
In defense of lock poisoning in Rust
In defense of lock poisoning in Rust
<...> I keep coming back to how unbounded the downside of an undetected panic is, and how easy it is to get wedged in this state. Mutexes and poisoning have value separate from each other, but I don’t think they are as independent as they seem at first. My understanding from writing Rust code over many years is that almost all uses of mutexes benefit from poisoning, and almost all instances of poisoning one needs to care about are with mutex-guarded data.
Help guys, my gf said I was hers, but she is mine aswell. This statement would imply that she owns me and I own her, but that would cause a stack overflow! Is she lying, and only owns a reference to me? pls help
#justrustaceanthings
r/rustjerk
😁9🌚1
Блог*
#game Вчера вышла Rift of the Necrodancer, спинофф Crypt of the Necrodancer. Эта игра ближе к традиционным ритм-играм, но при этом всё равно имеет свои фишки, перешедшие из прошлой игры. Брать, скорее всего, стоит — я в своё время демку с жалкими четырьмя…
Кому-то это точно интересно: теперь для игры есть DLC с треками из Friday night funkin' и Unbeatable
❤5
The (successful) end of the kernel Rust experiment
The topic of the Rust experiment was just discussed at the annual Maintainers Summit. The consensus among the assembled developers is that Rust in the kernel is no longer experimental — it is now a core part of the kernel and is here to stay. So the "experimental" tag will be coming off.
🎉11🥰4❤🔥2👎1
#prog #amazingopensource #article (и даже в какой-то мере #algo)
Stacktower.io (репозиторий) — инструмент для создания визуализаций зависимостей в духе известного комикса xkcd + история о его создании, с инкрементальным улучшением, начиная с брутфорса. История хорошо демонстрирует, насколько хорошо помогает знать prior art в computer science.
Stacktower.io (репозиторий) — инструмент для создания визуализаций зависимостей в духе известного комикса xkcd + история о его создании, с инкрементальным улучшением, начиная с брутфорса. История хорошо демонстрирует, насколько хорошо помогает знать prior art в computer science.
👍14🌚3
Forwarded from ReadMe.txt (Ilya Klishin)
🔎 Создатели сериала «Коломбо» рассказывали, что списали своего знаменитого детектива с Порфирия Петровича из «Преступления и наказания»
В интервью Уильяма Линка (соавтора «Коломбо») журналу Mystery Scene (лето 2010, статья Tom Nolan «Vital Link»), он говорит:
“We admitted in a lot of interviews, our template for Columbo was Petrovich, the detective-inspector in Crime and Punishment”
«Мы во множестве интервью признавали: нашим шаблоном для Коломбо был [Порфирий] Петрович, следователь из “Преступления и наказания”».
В частности с героя Достоевского списана мягкая вкрадчивая манера детектива. Его фирменная манера почти уже уходить, но возвращаться и говорить «И вот еще что» (And one more thing).
В интервью Уильяма Линка (соавтора «Коломбо») журналу Mystery Scene (лето 2010, статья Tom Nolan «Vital Link»), он говорит:
“We admitted in a lot of interviews, our template for Columbo was Petrovich, the detective-inspector in Crime and Punishment”
«Мы во множестве интервью признавали: нашим шаблоном для Коломбо был [Порфирий] Петрович, следователь из “Преступления и наказания”».
В частности с героя Достоевского списана мягкая вкрадчивая манера детектива. Его фирменная манера почти уже уходить, но возвращаться и говорить «И вот еще что» (And one more thing).
❤8
#prog #rust #rustreleasenotes
Вышла версия Rust 1.92.0! Как всегда, тут только интересные мне моменты — всё остальное в детальных заметках о релизе.
▪️Информация по оптимизации времени сборки теперь есть прямо в Cargo book 🎉 (PR)
▪️Линты про проблемы, связанные с never type fallback, теперь deny by default.
▪️Теперь на функциях можно комбинировать
▪️Операции
▪️Линт unused_must_use теперь не срабатывает на значениях Result<T, E>, где тип E не населён.
▪️
▪️Методы
▪️Стабилизированы некоторые API:
🔸std::panic::Location::file_as_cstr (полезно для интеропа с C/C++)
🔸RwLockWriteGuard::downgrade для понижения блокировки на запись до блокировки на чтение
🔸
🔸
▪️Методы
▪️Поиск в rustdoc теперь скрывает методы трейтов на типах из результатов поиска, если в списке есть сам метод трейта. Например, поиск по "last" покажет
▪️Компилятор теперь по умолчанию генерирует таблицы для раскрутки стека даже с -C panic=abort. Это сделано для рабочих трассировок стека (которые могут быть созданы не только паникой). Убрать эти таблицы можно ключём
Вышла версия Rust 1.92.0! Как всегда, тут только интересные мне моменты — всё остальное в детальных заметках о релизе.
▪️Информация по оптимизации времени сборки теперь есть прямо в Cargo book 🎉 (PR)
▪️Линты про проблемы, связанные с never type fallback, теперь deny by default.
▪️Теперь на функциях можно комбинировать
#[track_caller] и #[no_mangle]. Технически это можно было делать и раньше, но до этого релиза преобразование подобной функции в указатель на функцию сохраняло атрибут #[no_mangle], что приводило к ошибкам линковки. Если что, работает эта комбинация только на функциях с extern "Rust".▪️Операции
&raw const/&raw mut для взятия адреса теперь можно использовать на полях объединений в safe коде.▪️Линт unused_must_use теперь не срабатывает на значениях Result<T, E>, где тип E не населён.
▪️
Iterator::eq{, by} теперь может сделать ранний возврат на TrustedLen итераторах. Да, это означает, что теперь этот метод может отбрасывать операции с побочными эффектами.▪️Методы
count и last на iter::Repeat теперь паникуют вместо входа в бесконечный цикл.▪️Стабилизированы некоторые API:
🔸std::panic::Location::file_as_cstr (полезно для интеропа с C/C++)
🔸RwLockWriteGuard::downgrade для понижения блокировки на запись до блокировки на чтение
🔸
new_zeroed и new_zeroed_slice на умных указателях. Сами конструкторы safe, потому что возвращают аллокации с MaybeUninit вместо значений напрямую.🔸
insert_entry на btree_map::Entry и btree_map::VacantEntry, которые вставляют переданное значение и возвращают OccupiedEntry (аналогичные методы для HashMap стабилизировали год назад)▪️Методы
rotate_left и rotate_right на слайсах теперь можно вызывать в const-контекстах.▪️Поиск в rustdoc теперь скрывает методы трейтов на типах из результатов поиска, если в списке есть сам метод трейта. Например, поиск по "last" покажет
Iterator::last и BTreeSet::last (метод на BTreeSet, не имеющий отношения к Iterator), но не покажет, скажем, std::vec::IntoIter::last.▪️Компилятор теперь по умолчанию генерирует таблицы для раскрутки стека даже с -C panic=abort. Это сделано для рабочих трассировок стека (которые могут быть созданы не только паникой). Убрать эти таблицы можно ключём
-C force-unwind-tables=no.blog.rust-lang.org
Announcing Rust 1.92.0 | Rust Blog
Empowering everyone to build reliable and efficient software.
👍3🎉2