diff --git a/IDEHelper/Compiler/BfModuleTypeUtils.cpp b/IDEHelper/Compiler/BfModuleTypeUtils.cpp index 5a61cc41..cab289ff 100644 --- a/IDEHelper/Compiler/BfModuleTypeUtils.cpp +++ b/IDEHelper/Compiler/BfModuleTypeUtils.cpp @@ -11917,6 +11917,9 @@ BfIRValue BfModule::CastToValue(BfAstNode* srcNode, BfTypedValue typedVal, BfTyp return mBfIRBuilder->GetFakeVal(); } + if ((genericParamInst->mTypeConstraint == toType) && (toType->IsUnspecializedType())) + return mBfIRBuilder->GetFakeVal(); + auto castedVal = CastToValue(srcNode, typedVal, genericParamInst->mTypeConstraint, (BfCastFlags)(castFlags | BfCastFlags_SilentFail)); if (castedVal) return castedVal;