From 40e428b2f0da2179315d01f256552346f72b0667 Mon Sep 17 00:00:00 2001 From: Brian Fiete Date: Tue, 30 Jun 2020 16:03:17 -0700 Subject: [PATCH] Properly check delete constraint against other generic constraints --- IDEHelper/Compiler/BfModule.cpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index d5eae435..a6c46c07 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -6848,10 +6848,12 @@ bool BfModule::CheckGenericConstraints(const BfGenericParamSource& genericParamS if ((genericParamInst->mGenericParamFlags & BfGenericParamFlag_Delete) != 0) { bool canDelete = false; - if (checkArgType->IsPointer()) - canDelete = true; + if (checkArgType->IsPointer()) + canDelete = true; else if (checkArgType->IsObjectOrInterface()) canDelete = true; + else if ((checkGenericParamFlags & BfGenericParamFlag_Delete) != 0) + canDelete = true; if (!canDelete) {