1.84K subscribers
3.26K photos
129 videos
15 files
3.54K links
Блог со звёздочкой.

Много репостов, немножко программирования.

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
Вот определение Верховного суда, по которому Международное общественное движение ЛГБТ не является Международным общественным движением ЛГБТ и, вероятно, не является экстремистским. Правовая коллизия: чтобы доказать, что мы не экстремисты, нам сначала нужно оспорить это определение и доказать, что экстремисты — мы.
🤡12🤔3😁1
Какие вам больше нравятся?
Anonymous Poll
61%
Большие
39%
Маленькие
🤡20
Forwarded from Лентач
ЯГОМИК не пошёл по стопам ВСЕГЕИ и решил остаться ЯГОМИКом.

Якутский государственный объединенный музей истории и культуры народов Севера им. Ярославского не планирует отказываться от своего названия, заявил директор музея Николай Бугаев в комментарии для «КП-Якутия».

«Что касается аббревиатуры — мы ведь ее уже лет 20 нигде не используем, а для сокращения пишем «Якутский музей». Просто кто-то вспомнил об этом в свете изменения аббревиатуры ВСЕГЕИ и счел это забавным. Нам же подобный интерес только на руку».

Напомним, что Всероссийский научно-исследовательский геологический институт имени А. П. Карпинского (ВСЕГЕИ) изменил логотип на своем сайте после принятия закона о запрете ЛГБТ*-пропаганды в России.

*Движение ЛГБТ признано экстремистским и запрещено в РФ.
😁12👍2🤡1
Блог*
Какие вам больше нравятся?
А, только сейчас заметил, что пропустил слово
🤡26🌚2😁1
🌚26😢9😁2🤯1
Итоги года для канала "Блог*" от @TGStat
8👍3🔥1
А вы подводите итоги года? Я вот тоже не оправдал их ожиданий
👍9🤔1🤝1
#prog #rust #rustreleasenotes

Вышла версия Rust 1.75.0! Как всегда, тут только избранные моменты, а все изменения отдельно (BTW ссылка теперь ведёт не RELEASES.md, а на отдельную страницу).

▪️Само значимое изменение: теперь возможно использовать impl Trait в возвращаемых типах методов трейта и, как следствие, эквивалентные методам с RPIT async-методы. Однако текущая реализация ИМЕЕТ СУЩЕСТВЕННЫЕ ОГРАНИЧЕНИЯ, так что это не рекомендуется к использованию для публичного API. Подробнее об ограничениях (и костылях) — тут.

А, и ещё RPIT в трейтах захватывает времена жизни иначе, чем RPIT в inherent методах и свободных функциях. Подробнее тут (осторожно, может вызвать головную боль). Этот способ планируют сделать для всех impl Trait типов в возвращаемых позициях в edition 2024.

▪️В const fn сейчас нельзя использовать &mut-ссылки. Проверка для этого в компиляторе была, однако, излишне строгой. Теперь её ослабили и в const fn можно манипулировать fn pointer-ами, у которых есть мутабельные ссылки в аргументах. Но вызывать их по прежнему нельзя.

▪️Ещё изменение касательно const fn: вычисления в них с нарушением выравнивания теперь приводят к ошибке компиляции. Раньше на это был deny default линт, который можно было явно отключить.

▪️И ещё касательно невыровненных ссылок: компилятор теперь корректно ловит создание ссылок на unsized поля в #[repr(packed)] структурах.

▪️В язык и std добавлено несколько новых гарантий, о которых я упоминал:
🔸char имеет одинаковый с u32 размер и выравнивание
🔸null всегда имеет нулевой адрес
🔸для некоторых типов Option<T> вызов transmute на памяти, забитой нулями, валиден и гарантированно даёт None

А также:
🔸задокументированно, когда атомарные load валидны на readonly памяти.

▪️match теперь может матчиться на usize/isize значениях с проверкой полноты покрытия без _, а также может матчиться по (частично) перемещённым значениям, если паттерны не смотрят на значение. Это поведение консистентно с поведением let _ = expr;.

▪️Метод std::split_inclusive теперь возвращает итератор, который корректно реализует DoubleEndedIterator в том плане, что возвращает одни и те же кусочки строки при итерации как в прямом, так и в обратном порядке.

▪️Стабилизированы некоторые новые API, в частности:
🔸Конструкторы ссылок на Atomic-типы из сырых указателей (unsafe, разумеется)
🔸Пачку API (включая платформо-специфичные) для манипуляции временны́ми атрибутами файлов
🔸Битовые операции над IP-адресами
🔸Option::as{, _mut}_slice.
🔸Пачку методов для сырых указателей с указаниями смещений в байтах, а не в размерах указываемого типа.

Также в const контексте теперь можно вызывать:
🔸
MaybeUninit::assume_init_read
🔸
MaybeUninit::zeroed
🔸
mem::discriminant
🔸
mem::zeroed

Насчёт Option::as_slice у вас мог возникнуть резонный вопрос, чем этот метод лучше opt_value.map_or(&[], std::slice::from_ref). Дело в том, что такой прямолинейный метод будет использовать некий посторонний адрес для случая, когда значение является None, а новый метод старается по возможности вернуть ссылку на слайс с адресом, совпадающим с адресом исходного опционального значения.

▪️Некоторые улучшения rustdoc:
🔸Генерируется предупреждение, когда трейт не является object safe.
🔸Атрибут #[repr(transparent)] скрывается, если поле, над которым тип является transparent, является приватным (поскольку в этом случае repr наверняка является деталью реализации)
🔸Для C-like (с вариантами без полей) enum теперь показываются дискриминанты вариантов.

▪️Компилятор (конкретно librustc_driver) теперь оптимизируется при помощи BOLT — специального инструмента для оптимизации скомпилированных программ, который переставляет инструкции для лучшей утилизации кеша. Даёт прибавку в скорости.

▪️Маленькие функции теперь автоматически инлайнятся через границу крейтов. Дало большой выигрыш и по primary, и по secondary бенчмаркам — причём для времени компиляции даже лучше, чем для рантайм-бенчмарков.
🔥8❤‍🔥3👍2🎉1
😁25
Forwarded from Ева Морозова (Eva)
Media is too big
VIEW IN TELEGRAM
села я память на телефоне почистить, но видосики сами сложились в кремлёвский репортаж и из недр моих изошёл голос диктора
😁15🤮7❤‍🔥1🖕1
Когда пересел с C++ на Rust
😁49👍2🤡2
Forwarded from Пездуза
⚡️Нейросеть заменит Филлипа Киркорова на Шамана на всех прошлогодних выпусках голубого огонька

Пездуза
Please open Telegram to view this post
VIEW IN TELEGRAM
😁11🤮31👍1🥰1
откртчк
🌚141👍1👎1😁1
Подписчики, напишите, пожалуйста, какие, на ваш взгляд, есть преимущества у property в языках программирования?

Буду рад, если вы не будете копировать инфу из Википедии/ответа ChatGPT, а будете писать, исходя из собственного опыта использования.
You must be made of copper and tellurium, because you're Cu-Te.

#week_compliment #num_5
😍6
Блог* pinned «Подписчики, напишите, пожалуйста, какие, на ваш взгляд, есть преимущества у property в языках программирования? Буду рад, если вы не будете копировать инфу из Википедии/ответа ChatGPT, а будете писать, исходя из собственного опыта использования.»