1.85K subscribers
3.37K photos
134 videos
15 files
3.63K links
Блог со звёздочкой.

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

Небольшое прикольное комьюнити: @decltype_chat_ptr_t
Автор: @insert_reference_here
Download Telegram
В общем и целом читайте блог и ченджлог, но я хочу подчеркнуть одно конкретное изменение:

Allow Self: Autotrait bounds on dyn-safe trait methods.

В целом это всё и говорит, но всё же давайте по-подробнее.

Автотрейты это трейты которые реализуются автоматически для структур у которых все поля реализуют данный трейт. Известными примерами автотрейтов являются Send и Sync. Одним из условий автотрейтов является то, что автотрейт не должен иметь никаких item'ов (ассоциированных функций, констант и типов), это должен быть просто маркер.

Далее. dyn Trait это механизм стирания типов, пропуская подробности &dyn Trait хранит в себе кроме ссылки на данные (некоторый тип реализующий Trait) ещё и указатель на VTable — структуру с указателями на реализации функций трейта. Чтобы трейт годился для использования с dyn он должен исполнять некоторые требования (которые нужны для того, чтобы можно было создать VTable). Одно из требований — у функций не должно быть Self: SomeTrait ограничений*. Это требование вызвано тем, что такое ограничение не может быть выполнено в dyn варианте, нельзя написать dyn TraitA + TraitB. Невозможность комбинировать dyn трейты в свою очередь вызвана сложностью комбинирования VTable**.

Так вот! Единственное исключение для запрещения dyn A + B — автотрейты, поскольку у них не может быть методов, они не изменяют VTable и соответственно их можно тривиально разрешить.

Но это значит что и Self: AutoTrait имеет смысл для dyn как метод который можно вызвать на dyn Trait + AutoTrait. Этот PR и добавил эту возможность***.


*кроме Self: Sized, которое просто выпиливает функцию из dyn.

**но рано или поздно так тоже можно будет, надеюсь... (какая-то работа в этой сфере есть)

***конкретнее он разрешил Self: Auto для object-safe трейтов.
👍4💩1
💩1
Блог* pinned «0.1 + 0.2 =»
#game #3dcg

Кажется, впервые фотореализма в реальном времени действительно достигли
💩1
Media is too big
VIEW IN TELEGRAM
Вышел геймплейный трейлер игры Unrecord. Это тот самый шутер с "ультрареалистичной" графикой на Unreal Engine 5, про который недавно многие писали.

По сюжету игроку предстоит расследовать преступления и противостоять разнообразным персонажам.
Вид от первого лица в стиле записи с нагрудной камеры.

У неё появилась страничка в стиме. Даты пока нет.

Да, как заявляют, это всё графика, а не съёмки. Так что реально новый уровень

r/#Games
💩1
#meme про греческую мифологию
💩1
Forwarded from Архонт щітпосту | #укртґ (free hugs🐍)
🥰9😁3💩1
This media is not supported in your browser
VIEW IN TELEGRAM
Решил перевести свою менталку из категории «будет средне» куда-то поближе к «способен радоваться жизни», параллельно придумал несколько видео в жанре «тикток»
😁9👎5💩4🤡1
Прошлый рилс стоило снять хотя бы ради того, чтобы прочитать эту историю
😐10😁2💩2
Дикпик
😁73👍1💩1
Ошибка айтишников приостановила Конституцию Испании, Гражданский кодекс и ещё 12 000 разных испанских законов - на 20 минут. В результате сбоя информационных систем или программной ошибки, сайт “Официальной газеты”, где публикуются и хранятся действующие нормы, выводил сообщения “Прекратило действие” над огромным числом в реальности действующих норм, включая и Конституцию 1978 года. Эффекта это никакого не имеет - база данных “Официальной газеты” сугубо информационная, однако возгласы удивления в перемешку с ехидным хихиканьем носились над судами, адвокатскими конторами и прочими околосудебными присутствиями. Кто не успел увидеть своими глазами “прекратившую своё действие” Конституцию - увидел в скриншотах и форвардах от коллег. Один из них опубликовало каталонское телевидение. #закон
😁16💩1
👍17🤡4💩3❤‍🔥2🤔1
#prog #python #abnormalprogramming

github.com/biobootloader/wolverine

Give your python scripts regenerative healing abilities!

Run your scripts with Wolverine and when they crash, GPT-4 edits them and explains what went wrong. Even if you have many bugs it will repeatedly rerun until it's fixed.
😁13🤡3💩1
Блог* pinned «0.1 + 0.2 =»
Блог*
Кошкодевочки
Кошкомальчики
17🤮12👍3❤‍🔥2💩1