|
@@ -13764,7 +13764,11 @@ BfIRValue BfModule::CastToValue(BfAstNode* srcNode, BfTypedValue typedVal, BfTyp
|
|
|
{
|
|
|
auto result = BfTypedValue(mBfIRBuilder->GetFakeVal(), operatorConstraintReturnType);
|
|
|
if (result.mType != toType)
|
|
|
- return CastToValue(srcNode, result, toType, (BfCastFlags)(castFlags | BfCastFlags_Explicit | BfCastFlags_NoConversionOperator), resultFlags);
|
|
|
+ {
|
|
|
+ auto castedResult = CastToValue(srcNode, result, toType, (BfCastFlags)(castFlags | BfCastFlags_Explicit | BfCastFlags_NoConversionOperator), resultFlags);
|
|
|
+ if (castedResult)
|
|
|
+ return castedResult;
|
|
|
+ }
|
|
|
if (result)
|
|
|
return result.mValue;
|
|
|
}
|