1
0
Fork 0
mirror of https://github.com/beefytech/Beef.git synced 2025-06-09 03:52:19 +02:00

Fixed enum casting with implicit 'int' operator

This commit is contained in:
Brian Fiete 2025-02-18 13:06:35 -08:00
parent 33e4ac7a95
commit 06c5e06a58
2 changed files with 18 additions and 3 deletions

View file

@ -14689,7 +14689,6 @@ BfIRValue BfModule::CastToValue(BfAstNode* srcNode, BfTypedValue typedVal, BfTyp
{
auto fromType = typedVal.mType;
// Handle the typedPrim<->underlying part implicitly
if (fromType->IsTypedPrimitive())
{
typedVal = LoadValue(typedVal);
@ -14699,11 +14698,11 @@ BfIRValue BfModule::CastToValue(BfAstNode* srcNode, BfTypedValue typedVal, BfTyp
if (methodMatcher.mBestRawMethodInstance)
convTypedValue = GetDefaultTypedValue(methodMatcher.mBestRawMethodInstance->mReturnType);
}
return CastToValue(srcNode, convTypedValue, toType, (BfCastFlags)(castFlags & ~BfCastFlags_Explicit), NULL);
return CastToValue(srcNode, convTypedValue, toType, castFlags, NULL);
}
else if (toType->IsTypedPrimitive())
{
auto castedVal = CastToValue(srcNode, typedVal, toType->GetUnderlyingType(), (BfCastFlags)(castFlags & ~BfCastFlags_Explicit), NULL);
auto castedVal = CastToValue(srcNode, typedVal, toType->GetUnderlyingType(), castFlags, NULL);
return castedVal;
}
}