From 263798b7a473eac6e2707d4867e29a36246aadee Mon Sep 17 00:00:00 2001
From: Justin Swanson <justin.c.swanson@gmail.com>
Date: Thu, 11 Mar 2021 17:01:16 -0600
Subject: [PATCH] New null errors

---
 Wabbajack.Common/AsyncBlockingCollection.cs     | 2 +-
 Wabbajack.Common/Error States/GetResponse.cs    | 4 ++--
 Wabbajack.Common/Extensions/RxExt.cs            | 4 ++--
 Wabbajack.Server.Test/ABuildServerSystemTest.cs | 2 +-
 4 files changed, 6 insertions(+), 6 deletions(-)

diff --git a/Wabbajack.Common/AsyncBlockingCollection.cs b/Wabbajack.Common/AsyncBlockingCollection.cs
index 953bf1ad..ca33bab5 100644
--- a/Wabbajack.Common/AsyncBlockingCollection.cs
+++ b/Wabbajack.Common/AsyncBlockingCollection.cs
@@ -24,7 +24,7 @@ namespace Wabbajack.Common
             var startTime = DateTime.Now;
             while (true)
             {
-                if (_collection.TryPop(out T result))
+                if (_collection.TryPop(out var result))
                 {
                     return (true, result);
                 }
diff --git a/Wabbajack.Common/Error States/GetResponse.cs b/Wabbajack.Common/Error States/GetResponse.cs
index 2c82b2dc..71f823ba 100644
--- a/Wabbajack.Common/Error States/GetResponse.cs	
+++ b/Wabbajack.Common/Error States/GetResponse.cs	
@@ -29,7 +29,7 @@ namespace Wabbajack
 
         private GetResponse(
             bool succeeded,
-            T val = default,
+            T? val = default,
             string? reason = null,
             Exception? ex = null)
         {
@@ -126,7 +126,7 @@ namespace Wabbajack
             return new GetResponse<T>(false, val);
         }
 
-        public static GetResponse<T> Create(bool successful, T val = default(T), string? reason = null)
+        public static GetResponse<T> Create(bool successful, T? val = default(T), string? reason = null)
         {
             return new GetResponse<T>(successful, val!, reason);
         }
diff --git a/Wabbajack.Common/Extensions/RxExt.cs b/Wabbajack.Common/Extensions/RxExt.cs
index 3b5500e7..8390c386 100644
--- a/Wabbajack.Common/Extensions/RxExt.cs
+++ b/Wabbajack.Common/Extensions/RxExt.cs
@@ -93,7 +93,7 @@ namespace Wabbajack
             {
                 var hasValue = false;
                 bool throttling = false;
-                T value = default;
+                T? value = default;
 
                 var dueTimeDisposable = new SerialDisposable();
 
@@ -198,7 +198,7 @@ namespace Wabbajack
 
         public static IObservable<(T Previous, T Current)> Pairwise<T>(this IObservable<T> source)
         {
-            T prevStorage = default;
+            T? prevStorage = default;
             return source.Select(i =>
             {
                 var prev = prevStorage;
diff --git a/Wabbajack.Server.Test/ABuildServerSystemTest.cs b/Wabbajack.Server.Test/ABuildServerSystemTest.cs
index 44e8f014..7012ebb1 100644
--- a/Wabbajack.Server.Test/ABuildServerSystemTest.cs
+++ b/Wabbajack.Server.Test/ABuildServerSystemTest.cs
@@ -168,7 +168,7 @@ namespace Wabbajack.BuildServer.Test
             _authedClient = new Wabbajack.Lib.Http.Client();
             Fixture = fixture.Deref();
             var cache = Fixture.GetService<MetricsKeyCache>();
-            cache.AddKey(Metrics.GetMetricsKey().Result);
+            cache.AddKey(Metrics.GetMetricsKey().Result).Wait();
             _authedClient.Headers.Add(("x-api-key", Fixture.APIKey));
             AuthorAPI.ApiKeyOverride = Fixture.APIKey;
             _queue = new WorkQueue();