Multi Cast Delegate with Struct types cause CLR_E_WRONG_TYPE  exception
* Fix
* Add extra test for boxing
* Code style fixes
Automated fixes for code style.
@@ -718,9 +718,12 @@ HRESULT CLR_RT_StackFrame::FixCall()
args->Assign(*value);
}
else if (args->Dereference()->ObjectCls().m_data == res.m_cls.m_data)
+ {
+ if (args->Dereference()->IsBoxed())
{
NANOCLR_CHECK_HRESULT(args->PerformUnboxing(inst));
}
+ }
else
{
NANOCLR_SET_AND_LEAVE(CLR_E_WRONG_TYPE);
