Explorar o código

Fixed expression-bodied function with a ref return

Brian Fiete %!s(int64=5) %!d(string=hai) anos
pai
achega
d9444cc603
Modificáronse 1 ficheiros con 2 adicións e 2 borrados
  1. 2 2
      IDEHelper/Compiler/BfModule.cpp

+ 2 - 2
IDEHelper/Compiler/BfModule.cpp

@@ -18783,10 +18783,10 @@ void BfModule::ProcessMethod(BfMethodInstance* methodInstance, bool isInlineDup)
 // 					Warn(0, "Using a 'void' return with an expression-bodied method isn't needed. Consider removing '=>' token", methodDeclaration->mFatArrowToken);
 // 					Warn(0, "Using a 'void' return with an expression-bodied method isn't needed. Consider removing '=>' token", methodDeclaration->mFatArrowToken);
 // 				}
 // 				}
 								
 								
-				BfEvalExprFlags exprEvalFlags = BfEvalExprFlags_None;
+				BfEvalExprFlags exprEvalFlags = BfEvalExprFlags_AllowRefExpr;
 				if (expectingType->IsVoid())
 				if (expectingType->IsVoid())
 				{
 				{
-					exprEvalFlags = BfEvalExprFlags_NoCast;
+					exprEvalFlags = (BfEvalExprFlags)(exprEvalFlags | BfEvalExprFlags_NoCast);
 
 
 					bool wasReturnGenericParam = false;
 					bool wasReturnGenericParam = false;
 					if ((mCurMethodState->mClosureState != NULL) && (mCurMethodState->mClosureState->mReturnType != NULL))
 					if ((mCurMethodState->mClosureState != NULL) && (mCurMethodState->mClosureState->mReturnType != NULL))