From ac4545f7e5fb21c2509c52687aa80eeee5929bd4 Mon Sep 17 00:00:00 2001
From: ZLoo <Kozlov.s.v.1992@gmail.com>
Date: Sat, 20 Jul 2024 01:25:32 +0300
Subject: [PATCH] Warning Suppression CA1062

---
 src/Polly/Bulkhead/AsyncBulkheadPolicy.cs             | 1 +
 src/Polly/Bulkhead/BulkheadPolicy.cs                  | 1 +
 src/Polly/Caching/AsyncCachePolicy.cs                 | 1 +
 src/Polly/Caching/AsyncCacheSyntax.cs                 | 1 +
 src/Polly/Caching/AsyncCacheTResultSyntax.cs          | 1 +
 src/Polly/Caching/CachePolicy.cs                      | 1 +
 src/Polly/Caching/CacheSyntax.cs                      | 1 +
 src/Polly/Caching/CacheTResultSyntax.cs               | 1 +
 src/Polly/Caching/ContextualTtl.cs                    | 1 +
 src/Polly/Caching/DefaultCacheKeyStrategy.cs          | 1 +
 src/Polly/CircuitBreaker/AsyncCircuitBreakerPolicy.cs | 1 +
 src/Polly/CircuitBreaker/CircuitBreakerPolicy.cs      | 1 +
 src/Polly/Fallback/AsyncFallbackPolicy.cs             | 1 +
 src/Polly/Fallback/FallbackPolicy.cs                  | 1 +
 src/Polly/NoOp/AsyncNoOpPolicy.cs                     | 1 +
 src/Polly/NoOp/NoOpPolicy.cs                          | 1 +
 src/Polly/Polly.csproj                                | 2 +-
 src/Polly/RateLimit/AsyncRateLimitPolicy.cs           | 1 +
 src/Polly/RateLimit/RateLimitPolicy.cs                | 1 +
 src/Polly/Retry/AsyncRetryPolicy.cs                   | 1 +
 src/Polly/Retry/RetryPolicy.cs                        | 1 +
 src/Polly/Timeout/AsyncTimeoutPolicy.cs               | 1 +
 src/Polly/Timeout/TimeoutPolicy.cs                    | 1 +
 src/Polly/Wrap/IAsyncPolicyPolicyWrapExtensions.cs    | 1 +
 src/Polly/Wrap/IPolicyWrapExtension.cs                | 1 +
 src/Polly/Wrap/ISyncPolicyPolicyWrapExtensions.cs     | 1 +
 26 files changed, 26 insertions(+), 1 deletion(-)

diff --git a/src/Polly/Bulkhead/AsyncBulkheadPolicy.cs b/src/Polly/Bulkhead/AsyncBulkheadPolicy.cs
index 426ad8d04ba..a055a420c75 100644
--- a/src/Polly/Bulkhead/AsyncBulkheadPolicy.cs
+++ b/src/Polly/Bulkhead/AsyncBulkheadPolicy.cs
@@ -4,6 +4,7 @@ namespace Polly.Bulkhead;
 /// <summary>
 /// A bulkhead-isolation policy which can be applied to delegates.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class AsyncBulkheadPolicy : AsyncPolicy, IBulkheadPolicy
 {
     private readonly SemaphoreSlim _maxParallelizationSemaphore;
diff --git a/src/Polly/Bulkhead/BulkheadPolicy.cs b/src/Polly/Bulkhead/BulkheadPolicy.cs
index 9d769025267..b985c501dd0 100644
--- a/src/Polly/Bulkhead/BulkheadPolicy.cs
+++ b/src/Polly/Bulkhead/BulkheadPolicy.cs
@@ -4,6 +4,7 @@ namespace Polly.Bulkhead;
 /// <summary>
 /// A bulkhead-isolation policy which can be applied to delegates.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class BulkheadPolicy : Policy, IBulkheadPolicy
 {
     private readonly SemaphoreSlim _maxParallelizationSemaphore;
diff --git a/src/Polly/Caching/AsyncCachePolicy.cs b/src/Polly/Caching/AsyncCachePolicy.cs
index 07f6f3ff8b9..bfa7bc9335c 100644
--- a/src/Polly/Caching/AsyncCachePolicy.cs
+++ b/src/Polly/Caching/AsyncCachePolicy.cs
@@ -4,6 +4,7 @@ namespace Polly.Caching;
 /// <summary>
 /// A cache policy that can be applied to the results of delegate executions.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class AsyncCachePolicy : AsyncPolicy
 {
     private readonly IAsyncCacheProvider _asyncCacheProvider;
diff --git a/src/Polly/Caching/AsyncCacheSyntax.cs b/src/Polly/Caching/AsyncCacheSyntax.cs
index 9da9b5a27c0..983e74b46d6 100644
--- a/src/Polly/Caching/AsyncCacheSyntax.cs
+++ b/src/Polly/Caching/AsyncCacheSyntax.cs
@@ -1,6 +1,7 @@
 #nullable enable
 namespace Polly;
 
+#pragma warning disable CA1062 // Validate arguments of public methods
 public partial class Policy
 {
     /// <summary>
diff --git a/src/Polly/Caching/AsyncCacheTResultSyntax.cs b/src/Polly/Caching/AsyncCacheTResultSyntax.cs
index 966e69b05af..3aab6b10c20 100644
--- a/src/Polly/Caching/AsyncCacheTResultSyntax.cs
+++ b/src/Polly/Caching/AsyncCacheTResultSyntax.cs
@@ -1,6 +1,7 @@
 #nullable enable
 namespace Polly;
 
+#pragma warning disable CA1062 // Validate arguments of public methods
 public partial class Policy
 {
     /// <summary>
diff --git a/src/Polly/Caching/CachePolicy.cs b/src/Polly/Caching/CachePolicy.cs
index 7d9df28e3a4..e36ccf0d072 100644
--- a/src/Polly/Caching/CachePolicy.cs
+++ b/src/Polly/Caching/CachePolicy.cs
@@ -4,6 +4,7 @@ namespace Polly.Caching;
 /// <summary>
 /// A cache policy that can be applied to the results of delegate executions.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class CachePolicy : Policy, ICachePolicy
 {
     private readonly ISyncCacheProvider _syncCacheProvider;
diff --git a/src/Polly/Caching/CacheSyntax.cs b/src/Polly/Caching/CacheSyntax.cs
index 52fddb54f16..221bd288587 100644
--- a/src/Polly/Caching/CacheSyntax.cs
+++ b/src/Polly/Caching/CacheSyntax.cs
@@ -1,6 +1,7 @@
 #nullable enable
 namespace Polly;
 
+#pragma warning disable CA1062 // Validate arguments of public methods
 public partial class Policy
 {
     /// <summary>
diff --git a/src/Polly/Caching/CacheTResultSyntax.cs b/src/Polly/Caching/CacheTResultSyntax.cs
index cdee22416e4..b3c571e5fa2 100644
--- a/src/Polly/Caching/CacheTResultSyntax.cs
+++ b/src/Polly/Caching/CacheTResultSyntax.cs
@@ -1,6 +1,7 @@
 #nullable enable
 namespace Polly;
 
+#pragma warning disable CA1062 // Validate arguments of public methods
 public partial class Policy
 {
     /// <summary>
diff --git a/src/Polly/Caching/ContextualTtl.cs b/src/Polly/Caching/ContextualTtl.cs
index 6cc49103a45..3368f0464c3 100644
--- a/src/Polly/Caching/ContextualTtl.cs
+++ b/src/Polly/Caching/ContextualTtl.cs
@@ -4,6 +4,7 @@ namespace Polly.Caching;
 /// <summary>
 /// Defines a ttl strategy which will cache items for a TimeSpan which may be influenced by data in the execution context.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class ContextualTtl : ITtlStrategy
 {
     /// <summary>
diff --git a/src/Polly/Caching/DefaultCacheKeyStrategy.cs b/src/Polly/Caching/DefaultCacheKeyStrategy.cs
index 7ea0eb4a9e5..12272f73eff 100644
--- a/src/Polly/Caching/DefaultCacheKeyStrategy.cs
+++ b/src/Polly/Caching/DefaultCacheKeyStrategy.cs
@@ -4,6 +4,7 @@ namespace Polly.Caching;
 /// <summary>
 /// The default cache key strategy for <see cref="CachePolicy"/>.  Returns the property <see cref="Context.OperationKey"/>.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class DefaultCacheKeyStrategy : ICacheKeyStrategy
 {
     /// <summary>
diff --git a/src/Polly/CircuitBreaker/AsyncCircuitBreakerPolicy.cs b/src/Polly/CircuitBreaker/AsyncCircuitBreakerPolicy.cs
index 4832735a061..738a2a5af80 100644
--- a/src/Polly/CircuitBreaker/AsyncCircuitBreakerPolicy.cs
+++ b/src/Polly/CircuitBreaker/AsyncCircuitBreakerPolicy.cs
@@ -3,6 +3,7 @@
 /// <summary>
 /// A circuit-breaker policy that can be applied to async delegates.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class AsyncCircuitBreakerPolicy : AsyncPolicy, ICircuitBreakerPolicy
 {
     internal readonly ICircuitController<EmptyStruct> BreakerController;
diff --git a/src/Polly/CircuitBreaker/CircuitBreakerPolicy.cs b/src/Polly/CircuitBreaker/CircuitBreakerPolicy.cs
index f4954804cc8..95c234e5fe1 100644
--- a/src/Polly/CircuitBreaker/CircuitBreakerPolicy.cs
+++ b/src/Polly/CircuitBreaker/CircuitBreakerPolicy.cs
@@ -3,6 +3,7 @@
 /// <summary>
 /// A circuit-breaker policy that can be applied to delegates.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class CircuitBreakerPolicy : Policy, ICircuitBreakerPolicy
 {
     internal readonly ICircuitController<EmptyStruct> BreakerController;
diff --git a/src/Polly/Fallback/AsyncFallbackPolicy.cs b/src/Polly/Fallback/AsyncFallbackPolicy.cs
index 085329d946b..2b9db37dde1 100644
--- a/src/Polly/Fallback/AsyncFallbackPolicy.cs
+++ b/src/Polly/Fallback/AsyncFallbackPolicy.cs
@@ -5,6 +5,7 @@ namespace Polly.Fallback;
 /// <summary>
 /// A fallback policy that can be applied to asynchronous delegates.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class AsyncFallbackPolicy : AsyncPolicy, IFallbackPolicy
 {
     private readonly Func<Exception, Context, Task> _onFallbackAsync;
diff --git a/src/Polly/Fallback/FallbackPolicy.cs b/src/Polly/Fallback/FallbackPolicy.cs
index da2fb119e84..f9fa3b3a1c6 100644
--- a/src/Polly/Fallback/FallbackPolicy.cs
+++ b/src/Polly/Fallback/FallbackPolicy.cs
@@ -5,6 +5,7 @@ namespace Polly.Fallback;
 /// <summary>
 /// A fallback policy that can be applied to delegates.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class FallbackPolicy : Policy, IFallbackPolicy
 {
     private readonly Action<Exception, Context> _onFallback;
diff --git a/src/Polly/NoOp/AsyncNoOpPolicy.cs b/src/Polly/NoOp/AsyncNoOpPolicy.cs
index 68fdcb74976..b77173a7bea 100644
--- a/src/Polly/NoOp/AsyncNoOpPolicy.cs
+++ b/src/Polly/NoOp/AsyncNoOpPolicy.cs
@@ -5,6 +5,7 @@ namespace Polly.NoOp;
 /// <summary>
 /// A noop policy that can be applied to asynchronous delegates.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class AsyncNoOpPolicy : AsyncPolicy, INoOpPolicy
 {
     internal AsyncNoOpPolicy()
diff --git a/src/Polly/NoOp/NoOpPolicy.cs b/src/Polly/NoOp/NoOpPolicy.cs
index cc4f0a02b13..c54afc99b5b 100644
--- a/src/Polly/NoOp/NoOpPolicy.cs
+++ b/src/Polly/NoOp/NoOpPolicy.cs
@@ -5,6 +5,7 @@ namespace Polly.NoOp;
 /// <summary>
 /// A no op policy that can be applied to delegates.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class NoOpPolicy : Policy, INoOpPolicy
 {
     internal NoOpPolicy()
diff --git a/src/Polly/Polly.csproj b/src/Polly/Polly.csproj
index 828f9b6ddb7..165d2bffc2d 100644
--- a/src/Polly/Polly.csproj
+++ b/src/Polly/Polly.csproj
@@ -7,7 +7,7 @@
     <ProjectType>Library</ProjectType>
     <MutationScore>70</MutationScore>
     <IncludePollyUsings>true</IncludePollyUsings>
-    <NoWarn>$(NoWarn);CA1010;CA1031;CA1051;CA1062;CA1063;CA1064;CA1724;CA1805;CA1816;CA2211</NoWarn>
+    <NoWarn>$(NoWarn);CA1010;CA1031;CA1051;CA1063;CA1064;CA1724;CA1805;CA1816;CA2211</NoWarn>
     <NoWarn>$(NoWarn);S2223;S3215;S4039</NoWarn>
     <!--Public API Analyzers: We do not need to fix these as it would break compatibility with released Polly versions-->
     <NoWarn>$(NoWarn);RS0037;</NoWarn>
diff --git a/src/Polly/RateLimit/AsyncRateLimitPolicy.cs b/src/Polly/RateLimit/AsyncRateLimitPolicy.cs
index cb643e83be9..e5650c4138a 100644
--- a/src/Polly/RateLimit/AsyncRateLimitPolicy.cs
+++ b/src/Polly/RateLimit/AsyncRateLimitPolicy.cs
@@ -5,6 +5,7 @@ namespace Polly.RateLimit;
 /// <summary>
 /// A rate-limit policy that can be applied to asynchronous delegates.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class AsyncRateLimitPolicy : AsyncPolicy, IRateLimitPolicy
 {
     private readonly IRateLimiter _rateLimiter;
diff --git a/src/Polly/RateLimit/RateLimitPolicy.cs b/src/Polly/RateLimit/RateLimitPolicy.cs
index 07de422bfb2..c2f2150741b 100644
--- a/src/Polly/RateLimit/RateLimitPolicy.cs
+++ b/src/Polly/RateLimit/RateLimitPolicy.cs
@@ -5,6 +5,7 @@ namespace Polly.RateLimit;
 /// <summary>
 /// A rate-limit policy that can be applied to synchronous delegates.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class RateLimitPolicy : Policy, IRateLimitPolicy
 {
     private readonly IRateLimiter _rateLimiter;
diff --git a/src/Polly/Retry/AsyncRetryPolicy.cs b/src/Polly/Retry/AsyncRetryPolicy.cs
index 195b5a4767b..e8ce73c90c8 100644
--- a/src/Polly/Retry/AsyncRetryPolicy.cs
+++ b/src/Polly/Retry/AsyncRetryPolicy.cs
@@ -3,6 +3,7 @@
 /// <summary>
 /// A retry policy that can be applied to asynchronous delegates.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class AsyncRetryPolicy : AsyncPolicy, IRetryPolicy
 {
     private readonly Func<Exception, TimeSpan, int, Context, Task> _onRetryAsync;
diff --git a/src/Polly/Retry/RetryPolicy.cs b/src/Polly/Retry/RetryPolicy.cs
index d85258b3ed4..b7c83375fe4 100644
--- a/src/Polly/Retry/RetryPolicy.cs
+++ b/src/Polly/Retry/RetryPolicy.cs
@@ -4,6 +4,7 @@ namespace Polly.Retry;
 /// <summary>
 /// A retry policy that can be applied to synchronous delegates.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class RetryPolicy : Policy, IRetryPolicy
 {
     private readonly Action<Exception, TimeSpan, int, Context> _onRetry;
diff --git a/src/Polly/Timeout/AsyncTimeoutPolicy.cs b/src/Polly/Timeout/AsyncTimeoutPolicy.cs
index ff7f6370a1b..e8a29b12508 100644
--- a/src/Polly/Timeout/AsyncTimeoutPolicy.cs
+++ b/src/Polly/Timeout/AsyncTimeoutPolicy.cs
@@ -3,6 +3,7 @@
 /// <summary>
 /// A timeout policy which can be applied to async delegates.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class AsyncTimeoutPolicy : AsyncPolicy, ITimeoutPolicy
 {
     private readonly Func<Context, TimeSpan> _timeoutProvider;
diff --git a/src/Polly/Timeout/TimeoutPolicy.cs b/src/Polly/Timeout/TimeoutPolicy.cs
index 52bcfc875b9..1f638ccceae 100644
--- a/src/Polly/Timeout/TimeoutPolicy.cs
+++ b/src/Polly/Timeout/TimeoutPolicy.cs
@@ -3,6 +3,7 @@
 /// <summary>
 /// A timeout policy which can be applied to delegates.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public class TimeoutPolicy : Policy, ITimeoutPolicy
 {
     private readonly TimeoutStrategy _timeoutStrategy;
diff --git a/src/Polly/Wrap/IAsyncPolicyPolicyWrapExtensions.cs b/src/Polly/Wrap/IAsyncPolicyPolicyWrapExtensions.cs
index 2e62bd01f35..74a113e9cde 100644
--- a/src/Polly/Wrap/IAsyncPolicyPolicyWrapExtensions.cs
+++ b/src/Polly/Wrap/IAsyncPolicyPolicyWrapExtensions.cs
@@ -3,6 +3,7 @@
 /// <summary>
 /// Defines extensions for configuring <see cref="PolicyWrap"/> instances on an <see cref="IAsyncPolicy"/> or <see cref="IAsyncPolicy{TResult}"/>.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public static class IAsyncPolicyPolicyWrapExtensions
 {
     /// <summary>
diff --git a/src/Polly/Wrap/IPolicyWrapExtension.cs b/src/Polly/Wrap/IPolicyWrapExtension.cs
index 84f653993c7..b34ae3303ae 100644
--- a/src/Polly/Wrap/IPolicyWrapExtension.cs
+++ b/src/Polly/Wrap/IPolicyWrapExtension.cs
@@ -3,6 +3,7 @@
 /// <summary>
 /// Extension methods for IPolicyWrap.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public static class IPolicyWrapExtension
 {
     /// <summary>
diff --git a/src/Polly/Wrap/ISyncPolicyPolicyWrapExtensions.cs b/src/Polly/Wrap/ISyncPolicyPolicyWrapExtensions.cs
index 08b35c73fb6..be1e25ebeab 100644
--- a/src/Polly/Wrap/ISyncPolicyPolicyWrapExtensions.cs
+++ b/src/Polly/Wrap/ISyncPolicyPolicyWrapExtensions.cs
@@ -3,6 +3,7 @@
 /// <summary>
 /// Defines extensions for configuring <see cref="PolicyWrap"/> instances on an <see cref="ISyncPolicy"/> or <see cref="ISyncPolicy{TResult}"/>.
 /// </summary>
+#pragma warning disable CA1062 // Validate arguments of public methods
 public static class ISyncPolicyPolicyWrapExtensions
 {
     /// <summary>