Ayrat
это же все компайл тайм сахар с юзингом
Vagif
Для любителей модели акторов. Беседа с Аароном и Сергеем на Дотнексте.
https://www.youtube.com/watch?v=4JfqqJ7bjOQ
Tako
Ilya
Vagif
Ayrat
Vagif
Ayrat
нет каста к интерфейсам -_-
Ayrat
почему только для реф структур - неясно
Ayrat
прям зОгадка
Anatoly
Anatoly
И опять кпи выполнят
Mark
читаешь чат и чувство что шарпы язык для отсталых
Mark
и заработка денег разрабами МС
Ayrat
вот как Хейлсберг ушел и понеслась. реально
Mark
Ayrat
ридонли реф ридолни
Ayrat
Ayrat
но делали реф стракты для 2х задротов
Igor
Ayrat
то есть юзеры голосуют за рекорды, хкт, ДУ
Ayrat
но делают другое
Anatoly
Рекорды сделали
Anatoly
Меня не отпускает ощущение хунты, когда я ими пользуюсь, правда
Ayrat
Рекорды сделали
дада, но пропозал на них еще с юзервойса трансфернули на гитхаб
Ayrat
юзервойс это из 2000ых
Ayrat
Ayrat
не все такие старые как ты
Ayrat
О, нашел дискашн по инит пропертям - 13 лайков
https://github.com/dotnet/csharplang/issues/3376
ДУ - сотни лайков, ракет, всего подряд
https://github.com/dotnet/csharplang/issues/113
Ayrat
Vasiliy
https://northernsound.ru/events/radiotapok-stadium/
Ilya
Ты все ещё не можешь скастить реф стракт к интерфейсу
Ilya
В юзинге для структур нет каста
Ilya
На дак тацйпинге
Ayrat
Я короче заебался с тобой спорить честно скажу второй день подряд.
Ayrat
Пойду лучше в хадеса поиграю
Ilya
Ilya
В реф стракт добавили потому что они не могут имплеметить интерфейсы
Ilya
Зачем это делать везде - не ясно
Vasily
Шо у нас тут? Илья опять с умным видом отстаивает взгляд на мир?
Vasily
Право слово, рекомендую все же разбираться в предмете спора
Ilya
Ilya
откуда там боксинг?
Anatoly
при касте к интерфейсу
Vasily
Илья этого не может понять пока
Ilya
Doge
Да напишите пример в sharplab
Doge
Там сразу этот несчастный бокс у стркутур при касте к интерфейсу будет виден
Anatoly
и был какой-то фикс джита конкретно этого случая
Anatoly
но я так и не понял, доехал ли фикс в мейнлайн и в какой версии
Андрей
Anatoly
о, там опять @VagifAbilov в телевизоре :)
Kirill
по какому каналу?
Kirill
ох, такого у меня нет. не смогу глянуть(
Ilya
Ilya
https://sharplab.io/#v2:CYLg1APgAgTAjAWAFBQAwAIpwHQBkCWAdgI4DcyamcALOSgMyYzoDC6A3sut5o1NegCycABQBKDlx49KANwCGAJ3Tz0AXnSEApgHd0AQXF1pAXyndzAZwAuigK4BjawfQh0ASQAi+SwAcA9pbyAEYANlqSSDJ8At5+gVri7CZmURZIJkA===
Ilya
вот тут нагляднее https://sharplab.io/#v2:C4LglgNgNAJiDUAfAAgJgIwFgBQyAMABMugHQAyYAdgI4DcO+R6ALPbgMxGoEDCBA3jgLCinZMwIBZdAAoAlAKEiRjAG4BDAE4F1BALwFKAUwDuBAILy2y5UuEBfOwSfIxEgELyng7CI3bdA2MzSzlrG2F1EgBxI2AACXUAZwALHgB7GCMrJ0dfETsk4E0AVwBjYAsCEAIASQARMCSAB3Sk9QAjCCNFfNEiCUaWtuy5fns8gux7IA===
Ilya
хешкод так же вызывается через constrained + callvirt
Anatoly
If thisType is a value type and thisType implements method then ptr is passed unmodified as the ‘this’ pointer to a call method instruction, for the implementation of method by thisType.
If thisType is a value type and thisType does not implement method then * ptr is dereferenced, boxed*, and passed as the ‘this’ pointer to the callvirt method instruction.
Ilya
но в реальности - никого боксинга нет
Ilya
If thisType is a value type and thisType does not implement method
Ilya
оно что не имплементирует?
Критерий
это оптимизация джита же, ну
Критерий
если тип известен, то можно девиртуализовать вызов
Ilya
короче, здесь не и не было боксингга со времен 4.5 дотнета точно
Ilya
Anatoly
Ilya