Size: a a a

2021 January 29

IC

Ilya Chernoudov in pro.net
A a = default(A);
       try
       {
       }
       finally
       {
           ((IDisposable)a).Dispose();
       }
источник

E

EgorBo in pro.net
да
источник

IC

Ilya Chernoudov in pro.net
но она типа структуры
источник

IC

Ilya Chernoudov in pro.net
всё вроде как надо
источник

E

EgorBo in pro.net
((IDisposable)a).Dispose(); — ок

IDisposable d = a;
d.Dispose();                         —— не ок
источник

E

EgorBo in pro.net
тут нужен проход early forward substituion который нижнее превратит в верхнее
источник

D

Danya in pro.net
EgorBo
((IDisposable)a).Dispose(); — ок

IDisposable d = a;
d.Dispose();                         —— не ок
Почему ((IDisposable)a).Dispose(); ок? В M1 же есть боксинг, нет?
источник

IC

Ilya Chernoudov in pro.net
EgorBo
((IDisposable)a).Dispose(); — ок

IDisposable d = a;
d.Dispose();                         —— не ок
а ну это понятно
источник

E

EgorBo in pro.net
Danya
Почему ((IDisposable)a).Dispose(); ок? В M1 же есть боксинг, нет?
нету
источник

D

Danya in pro.net
IL_0001?
источник

E

EgorBo in pro.net
Danya
IL_0001?
на ил вообще похрену, мы по факту после джита
источник

D

Danya in pro.net
А понял
источник

E

EgorBo in pro.net
правда в моно будет боксинг и тут после джита. я так и не успел это пофиксеть
источник

IC

Ilya Chernoudov in pro.net
погляди как framework сворачивает using @EgorBo
источник

IC

Ilya Chernoudov in pro.net
Ilya Chernoudov
погляди как framework сворачивает using @EgorBo
и там нет девиртуализации для ((IDisposable)a).Dispose()
источник

A

Anatoly in pro.net
EgorBo
да
а разве раньше, до кора, не было копирования значения в using() в отдельную переменную IDisposable типа?
источник

IC

Ilya Chernoudov in pro.net
Anatoly
а разве раньше, до кора, не было копирования значения в using() в отдельную переменную IDisposable типа?
это же делает компилятор
источник

IC

Ilya Chernoudov in pro.net
не рантайм
источник

A

Anatoly in pro.net
ну так если потом у этой переменной IDisposable позвать Dispose, будет боксинг
источник

E

EgorBo in pro.net
Anatoly
а разве раньше, до кора, не было копирования значения в using() в отдельную переменную IDisposable типа?
я думаю раньше не было оптимизации в джите
источник