Telegram Web
Forwarded from Neural Machine
Однажды я буду свободен от друзей, заставляющих выпить.
😢6❤‍🔥2
#prog #rust #itsec

crates.io: Malicious crates faster_log and async_println

The users in question were immediately disabled, and the crates in question were deleted from crates.io shortly after. We have retained copies of all logs associated with the users and the malicious crate files for further analysis.

The deletion was performed at 15:34 UTC on September 24, 2025.
Forwarded from Random Rust Dev
Вчера мне открыли issue на egui-probe, я прочитал сегодня вечером, добавил нужную фичу и выпустил релизнул патч в течение нескольких часов.

И вы обращайтесь =^_^=
👍1
> лоток для дайсов
👍9
😁23🌚11👍21👌1
#prog #rust #rustreleasenotes

Вышла версия Rust 1.90.0!.. Больше недели назад. В свою защиту могу сказать, что в этой версии заметных для большинства пользователей изменений в языке и нету.

Как всегда, тут только избранные части, всё остальное в детальных заметках о релизе.

▪️Как и было обещано, для таргета x86_64-unknown-linux-gnu теперь по умолчанию используется более быстрый линкер lld.

▪️В качестве расширения к методам, добавленным в Rust 1.66.0, добавили методы uX::*_sub_signed (wrapping, checked, overflowing и saturating варианты) для корректного вычитания чисел с разной знаковостью.

▪️CString, CStr и Cow<CStr> теперь можно сравнивать на равенство между собой. Нет, PartialOrd между ними не реализован. Нет, я не знаю, почему.

▪️Старый PR докатился до стейбла: в const-контексте наконец можно вызывать reverse на слайсах. Также теперь там можно вызывать на числах с плавающей точкой различные методы для округления и fract для извлечения дробной части.

▪️Реализацию Default для iter::Fuse привели в соответствие с документацией: теперь default создаёт Fuse, оборачивающий значение по умолчанию внутреннего итератора, вместо создания всегда пустого итератора.

▪️Реализации io::Write для TcpStream и UnixStream теперь на Linux пишут данные с флагом MSG_NOSIGNAL. Это означает, что запись в померший нижележащий сокет теперь возвращает EPIPE — или, в терминах Rust, io::Error, у которого kind() возвращает ErrorKind::BrokenPipe. Данное изменение делает поведение консистентным с тем, как сокеты ведут себя в других местах в std.

▪️Компилятор теперь не даёт скомпилировать код, который упоминает ABI, неподдерживаемый на целевой платформе.
👍41
#prog #web #article

You no longer need JavaScript

Демонстрация того, что можно сделать исключительно при помощи CSS. Включая виджет для выбора цвета (в статье). И включая целую игру-кликер.
🥴4🔥2
#prog #article

Towards Alias-Free Pointers (PDF)

Папир из 1995 года, про который я узнал из презентации Rust: Correctness at Large, Correctness in Motion. Уже тогда была база для основы Rust! Сама статья не столь ясна, как могла бы быть, поскольку демонстрирует примеры на основе модифицированной версии Eiffel.

In this paper we argue that pointer-induced aliasing is largely a self inflicted wound, caused by the almost universal practice in programming to transfer information by copy. As a remedy for this defect we intro duce a concept unshareable objects, and the companion concept of unique pointers, which can be moved from one place to another, but which cannot be copied. We argue that unshareable objects can be employed conveniently in many, if not most, situations where dynamic objects are being used, and without incurring their pitfalls. And we show that it takes no more than minor, and virtually costless, modifications to a typical imperative programming language to support such objects.

И ещё, как отмечает автор:
Another natural application of u-objects [unshareable objects — прим. моё] is discussed in [8], where we show how such objects can be used to implement tokens — objects that, like the capabilities of operating systems, represent certain authority. Such unshareable tokens can be utilized, in particular, for the control of sharing in software systems such as object-oriented databases.

И подобный подход действительно применяется в программах на Rust, самый наглядный пример — MutexGuard.
Перебой — overbattle
🤣4🤡2
#prog #rust #article

From Rust to Reality: The Hidden Journey of fetch_max

Why would Rust provide fetch_max as a built-in intrinsic? Intrinsics usually exist to leverage specific hardware instructions. But x86-64 doesn't have an atomic max instruction. So there had to be a CAS loop somewhere in the pipeline.

<...>

So I started digging. What I found was a fascinating journey through five distinct layers of compiler transformations, each one peeling back another level of abstraction, until I found exactly where that loop materialized. Let me share what I discovered.
2
Почему у либералов такие плоские шутки?

Потому что у них на графиках нет оси Z

(#politota, не моё)
😁15💩9👍2
Forwarded from Cute Boys
П-пп..Парни!😳
🤩7😁3🤮1🤡1
Нужно ли обращаться к взрослым на "Вы", если ты и есть взрослый?
💯10
В СМЫСЛЕ УЖЕ ОКТЯБРЬ
6
🎉92💯1
Итак, папищеки.

Я знаю, что среди вас есть те, кто сейчас живут в Армении.

И я знаю, что среди вас есть те, кому интересны настольные ролевые игры.

У меня есть подозрение, что пересечение этих двух подмножеств непустое, потому у меня вопрос:

Кто из вас заинтересован в том, чтобы сыграть в ваншот с системой Pathfinder 2e со мной в качестве мастера?

P. S.: если среди проживающих в Армении достаточно не найдётся, то попробую набрать на онлайн-игру.
5😁3👍1🤯1💩1🤡1🖕1
Блог* pinned «Итак, папищеки. Я знаю, что среди вас есть те, кто сейчас живут в Армении. И я знаю, что среди вас есть те, кому интересны настольные ролевые игры. У меня есть подозрение, что пересечение этих двух подмножеств непустое, потому у меня вопрос: Кто из вас…»
2025/10/01 22:08:21
Back to Top
HTML Embed Code: