diff --git a/IDEHelper/Compiler/BfReducer.cpp b/IDEHelper/Compiler/BfReducer.cpp index f73343f2..dd871215 100644 --- a/IDEHelper/Compiler/BfReducer.cpp +++ b/IDEHelper/Compiler/BfReducer.cpp @@ -4829,7 +4829,7 @@ BfTypeReference* BfReducer::DoCreateTypeRef(BfAstNode* firstNode, CreateTypeRefF auto tokenNode = BfNodeDynCast(firstNode); if (tokenNode != NULL) { - int token = tokenNode->GetToken(); + BfToken token = tokenNode->GetToken(); if (token == BfToken_Dot) { auto dotTypeRef = mAlloc->Alloc(); @@ -4998,6 +4998,12 @@ BfTypeReference* BfReducer::DoCreateTypeRef(BfAstNode* firstNode, CreateTypeRefF MEMBER_SET_CHECKED(delegateTypeRef, mCloseParen, closeNode); mVisitorPos.MoveNext(); + for (auto paramDecl : params) + { + if ((paramDecl != NULL) && (paramDecl->mEqualsNode != NULL)) + Fail(StrFormat("Initializers cannot be used in anonymous %s type references. Consider creating a named %s type.", BfTokenToString(token), BfTokenToString(token)), paramDecl->mEqualsNode); + } + isHandled = true; firstNode = delegateTypeRef;