diff --git a/src/Polly.Core/Utils/OutcomeResilienceStrategy.cs b/src/Polly.Core/Utils/OutcomeResilienceStrategy.cs index 60b163c7f4..0d4368fcf2 100644 --- a/src/Polly.Core/Utils/OutcomeResilienceStrategy.cs +++ b/src/Polly.Core/Utils/OutcomeResilienceStrategy.cs @@ -16,13 +16,11 @@ protected internal sealed override ValueTask> ExecuteCore>> casted) { - // cast is safe here, because TResult and T are the same type - var callbackCasted = (Func>>)(object)callback; - var valueTask = ExecuteCore(callbackCasted, context, state); - - return TaskHelper.ConvertValueTask(valueTask, context); + return TaskHelper.ConvertValueTask( + ExecuteCore(casted, context, state), + context); } else {