diff --git a/IDEHelper/Compiler/BfDefBuilder.cpp b/IDEHelper/Compiler/BfDefBuilder.cpp index 7c7d0e95..e0f9a2f1 100644 --- a/IDEHelper/Compiler/BfDefBuilder.cpp +++ b/IDEHelper/Compiler/BfDefBuilder.cpp @@ -586,6 +586,7 @@ BfMethodDef* BfDefBuilder::CreateMethodDef(BfMethodDeclaration* methodDeclaratio if (methodDeclaration->mNameNode != NULL) methodDef->mName = methodDeclaration->mNameNode->ToString(); methodDef->mMethodType = BfMethodType_Mixin; + methodDef->mIsNoSplat = true; } else { diff --git a/IDEHelper/Compiler/BfModule.cpp b/IDEHelper/Compiler/BfModule.cpp index 5cea7464..3d193cc7 100644 --- a/IDEHelper/Compiler/BfModule.cpp +++ b/IDEHelper/Compiler/BfModule.cpp @@ -16848,7 +16848,7 @@ void BfModule::ProcessMethod_SetupParams(BfMethodInstance* methodInstance, BfTyp { paramVar->mIsSplat = true; } - else if (resolvedType->IsComposite() && resolvedType->IsSplattable()) + else if ((resolvedType->IsComposite()) && (resolvedType->IsSplattable())) { if ((!mIsConstModule) && (methodInstance->AllowsSplatting())) { diff --git a/IDEHelper/Compiler/BfResolvedTypeUtils.cpp b/IDEHelper/Compiler/BfResolvedTypeUtils.cpp index 71851fd1..b171624a 100644 --- a/IDEHelper/Compiler/BfResolvedTypeUtils.cpp +++ b/IDEHelper/Compiler/BfResolvedTypeUtils.cpp @@ -2479,6 +2479,8 @@ BfFieldDef* BfTupleType::AddField(const StringImpl& name) void BfTupleType::Finish() { + BF_ASSERT(!mTypeFailed); + auto bfSystem = mTypeDef->mSystem; mSource = new BfSource(bfSystem); mTypeDef->mSource = mSource;