Forwarded from мне не нравится реальность
В общем и целом читайте блог и ченджлог, но я хочу подчеркнуть одно конкретное изменение:
— Allow Self: Autotrait bounds on dyn-safe trait methods.
В целом это всё и говорит, но всё же давайте по-подробнее.
Автотрейты это трейты которые реализуются автоматически для структур у которых все поля реализуют данный трейт. Известными примерами автотрейтов являются
Далее.
Так вот! Единственное исключение для запрещения
Но это значит что и
*кроме
**но рано или поздно так тоже можно будет, надеюсь... (какая-то работа в этой сфере есть)
***конкретнее он разрешил
— 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
Блог*
#prog #rust #rustreleasenotes Вышла версия Rust 1.69.0! Как всегда, расскажу только о том, что интересует меня, а об остальном читайте в ченджлоге. ▪️Создание невыровненных ссылок на поля packed-структур наконец-то является ошибкой компиляции, которую нельзя…
Неудобно писать release notes на телефоне, м-да
💩1
0.1 + 0.2 =
Anonymous Poll
13%
0.3
60%
0.30000000000000004
3%
0.10.2
24%
error: lvalue required as left operand of assignment
🤷2👍1💩1
Forwarded from r/ретранслятор
Media is too big
VIEW IN TELEGRAM
Вышел геймплейный трейлер игры Unrecord. Это тот самый шутер с "ультрареалистичной" графикой на Unreal Engine 5, про который недавно многие писали.
По сюжету игроку предстоит расследовать преступления и противостоять разнообразным персонажам.
Вид от первого лица в стиле записи с нагрудной камеры.
У неё появилась страничка в стиме. Даты пока нет.
Да, как заявляют, это всё графика, а не съёмки. Так что реально новый уровень
r/#Games
По сюжету игроку предстоит расследовать преступления и противостоять разнообразным персонажам.
Вид от первого лица в стиле записи с нагрудной камеры.
У неё появилась страничка в стиме. Даты пока нет.
Да, как заявляют, это всё графика, а не съёмки. Так что реально новый уровень
r/#Games
💩1
Forwarded from Денис Чужой про комедию
This media is not supported in your browser
VIEW IN TELEGRAM
Решил перевести свою менталку из категории «будет средне» куда-то поближе к «способен радоваться жизни», параллельно придумал несколько видео в жанре «тикток»
😁9👎5💩4🤡1
Forwarded from Денис Чужой про комедию
Прошлый рилс стоило снять хотя бы ради того, чтобы прочитать эту историю
😐10😁2💩2
Forwarded from Каталонский вестник
Ошибка айтишников приостановила Конституцию Испании, Гражданский кодекс и ещё 12 000 разных испанских законов - на 20 минут. В результате сбоя информационных систем или программной ошибки, сайт “Официальной газеты”, где публикуются и хранятся действующие нормы, выводил сообщения “Прекратило действие” над огромным числом в реальности действующих норм, включая и Конституцию 1978 года. Эффекта это никакого не имеет - база данных “Официальной газеты” сугубо информационная, однако возгласы удивления в перемешку с ехидным хихиканьем носились над судами, адвокатскими конторами и прочими околосудебными присутствиями. Кто не успел увидеть своими глазами “прекратившую своё действие” Конституцию - увидел в скриншотах и форвардах от коллег. Один из них опубликовало каталонское телевидение. #закон
😁16💩1
Каталонский вестник
Ошибка айтишников приостановила Конституцию Испании, Гражданский кодекс и ещё 12 000 разных испанских законов - на 20 минут. В результате сбоя информационных систем или программной ошибки, сайт “Официальной газеты”, где публикуются и хранятся действующие нормы…
#suckassstory, пожалуй
😁1💩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.
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.
GitHub
GitHub - biobootloader/wolverine
Contribute to biobootloader/wolverine development by creating an account on GitHub.
😁13🤡3💩1