Browse Source

Enable strict mode in roslyn compiler (#6950)

Pavel Krymets 7 years ago
parent
commit
f06e1822f5

+ 3 - 0
Directory.Build.props

@@ -61,6 +61,9 @@
 
     <!-- Fixes a common error in targets implementing a NoBuild mode. -->
     <BuildProjectReferences Condition=" '$(NoBuild)' == 'true' ">false</BuildProjectReferences>
+    
+    <!-- Enables Strict mode for Roslyn compiler -->
+    <Features>strict</Features>
   </PropertyGroup>
 
   <Import Project="eng\Versions.props" />

+ 1 - 1
src/Antiforgery/src/Internal/DefaultAntiforgeryTokenStore.cs

@@ -46,7 +46,7 @@ namespace Microsoft.AspNetCore.Antiforgery.Internal
 
             // We want to delay reading the form as much as possible, for example in case of large file uploads,
             // request token could be part of the header.
-            StringValues requestToken;
+            StringValues requestToken = default;
             if (_options.HeaderName != null)
             {
                 requestToken = httpContext.Request.Headers[_options.HeaderName];

+ 1 - 1
src/Hosting/Hosting/src/Internal/HostingApplicationDiagnostics.cs

@@ -51,7 +51,7 @@ namespace Microsoft.AspNetCore.Hosting.Internal
 
             // If logging is enabled or the diagnostic listener is enabled, try to get the correlation
             // id from the header
-            StringValues correlationId;
+            StringValues correlationId = default;
             if (diagnosticListenerEnabled || loggingEnabled)
             {
                 httpContext.Request.Headers.TryGetValue(RequestIdHeaderName, out correlationId);

+ 1 - 1
src/Hosting/TestHost/src/ClientHandler.cs

@@ -80,7 +80,7 @@ namespace Microsoft.AspNetCore.TestHost
                     req.Headers.Append(header.Key, header.Value.ToArray());
                 }
 
-                if (req.Host == null || !req.Host.HasValue)
+                if (!req.Host.HasValue)
                 {
                     // If Host wasn't explicitly set as a header, let's infer it from the Uri
                     req.Host = HostString.FromUriComponent(request.RequestUri);

+ 1 - 1
src/Middleware/StaticFiles/src/StaticFileContext.cs

@@ -233,7 +233,7 @@ namespace Microsoft.AspNetCore.StaticFiles
                 // the Range header field.
                 if (ifRangeHeader.LastModified.HasValue)
                 {
-                    if (_lastModified !=null && _lastModified > ifRangeHeader.LastModified)
+                    if (_lastModified > ifRangeHeader.LastModified)
                     {
                         _isRangeRequest = false;
                     }

+ 2 - 11
src/Mvc/src/Microsoft.AspNetCore.Mvc.Core/ModelBinding/Binders/CollectionModelBinder.cs

@@ -448,17 +448,8 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding.Binders
 
         private static IEnumerable<string> GetIndexNamesFromValueProviderResult(ValueProviderResult valueProviderResult)
         {
-            IEnumerable<string> indexNames = null;
-            if (valueProviderResult != null)
-            {
-                var indexes = (string[])valueProviderResult;
-                if (indexes != null && indexes.Length > 0)
-                {
-                    indexNames = indexes;
-                }
-            }
-
-            return indexNames;
+            var indexes = (string[])valueProviderResult;
+            return (indexes == null || indexes.Length == 0) ? null : indexes;
         }
     }
 }

+ 0 - 1
src/Mvc/test/Microsoft.AspNetCore.Mvc.Core.Test/ModelBinding/DefaultModelBindingContextTest.cs

@@ -195,7 +195,6 @@ namespace Microsoft.AspNetCore.Mvc.ModelBinding
                 {
                     throw new ArgumentNullException(nameof(bindingContext));
                 }
-                Debug.Assert(bindingContext.Result == null);
 
                 throw new NotImplementedException();
             }

+ 0 - 5
src/Mvc/test/WebSites/BasicWebSite/Controllers/ContactApiController.cs

@@ -131,11 +131,6 @@ namespace BasicWebSite
             public Task BindModelAsync(ModelBindingContext bindingContext)
             {
                 var val = bindingContext.ValueProvider.GetValue(bindingContext.ModelName);
-                if (val == null)
-                {
-                    return Task.CompletedTask;
-                }
-
                 bindingContext.Result = ModelBindingResult.Success("From TestModelBinder: " + val);
                 return Task.CompletedTask;
             }

+ 84 - 81
src/Servers/Kestrel/Core/src/Internal/Http/HttpHeaders.Generated.cs

@@ -27,7 +27,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 1L) != 0)
                 {
                     value = _headers._CacheControl;
@@ -44,7 +44,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 2L) != 0)
                 {
                     value = _headers._Connection;
@@ -61,7 +61,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 4L) != 0)
                 {
                     value = _headers._Date;
@@ -78,7 +78,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 8L) != 0)
                 {
                     value = _headers._KeepAlive;
@@ -95,7 +95,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 16L) != 0)
                 {
                     value = _headers._Pragma;
@@ -112,7 +112,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 32L) != 0)
                 {
                     value = _headers._Trailer;
@@ -129,7 +129,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 64L) != 0)
                 {
                     value = _headers._TransferEncoding;
@@ -146,7 +146,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 128L) != 0)
                 {
                     value = _headers._Upgrade;
@@ -163,7 +163,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 256L) != 0)
                 {
                     value = _headers._Via;
@@ -180,7 +180,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 512L) != 0)
                 {
                     value = _headers._Warning;
@@ -197,7 +197,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 1024L) != 0)
                 {
                     value = _headers._Allow;
@@ -214,7 +214,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 2048L) != 0)
                 {
                     value = _headers._ContentType;
@@ -231,7 +231,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 4096L) != 0)
                 {
                     value = _headers._ContentEncoding;
@@ -248,7 +248,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 8192L) != 0)
                 {
                     value = _headers._ContentLanguage;
@@ -265,7 +265,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 16384L) != 0)
                 {
                     value = _headers._ContentLocation;
@@ -282,7 +282,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 32768L) != 0)
                 {
                     value = _headers._ContentMD5;
@@ -299,7 +299,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 65536L) != 0)
                 {
                     value = _headers._ContentRange;
@@ -316,7 +316,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 131072L) != 0)
                 {
                     value = _headers._Expires;
@@ -333,7 +333,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 262144L) != 0)
                 {
                     value = _headers._LastModified;
@@ -350,7 +350,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 524288L) != 0)
                 {
                     value = _headers._Accept;
@@ -367,7 +367,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 1048576L) != 0)
                 {
                     value = _headers._AcceptCharset;
@@ -384,7 +384,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 2097152L) != 0)
                 {
                     value = _headers._AcceptEncoding;
@@ -401,7 +401,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 4194304L) != 0)
                 {
                     value = _headers._AcceptLanguage;
@@ -418,7 +418,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 8388608L) != 0)
                 {
                     value = _headers._Authorization;
@@ -435,7 +435,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 16777216L) != 0)
                 {
                     value = _headers._Cookie;
@@ -452,7 +452,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 33554432L) != 0)
                 {
                     value = _headers._Expect;
@@ -469,7 +469,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 67108864L) != 0)
                 {
                     value = _headers._From;
@@ -486,7 +486,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 134217728L) != 0)
                 {
                     value = _headers._Host;
@@ -503,7 +503,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 268435456L) != 0)
                 {
                     value = _headers._IfMatch;
@@ -520,7 +520,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 536870912L) != 0)
                 {
                     value = _headers._IfModifiedSince;
@@ -537,7 +537,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 1073741824L) != 0)
                 {
                     value = _headers._IfNoneMatch;
@@ -554,7 +554,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 2147483648L) != 0)
                 {
                     value = _headers._IfRange;
@@ -571,7 +571,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 4294967296L) != 0)
                 {
                     value = _headers._IfUnmodifiedSince;
@@ -588,7 +588,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 8589934592L) != 0)
                 {
                     value = _headers._MaxForwards;
@@ -605,7 +605,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 17179869184L) != 0)
                 {
                     value = _headers._ProxyAuthorization;
@@ -622,7 +622,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 34359738368L) != 0)
                 {
                     value = _headers._Referer;
@@ -639,7 +639,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 68719476736L) != 0)
                 {
                     value = _headers._Range;
@@ -656,7 +656,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 137438953472L) != 0)
                 {
                     value = _headers._TE;
@@ -673,7 +673,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 274877906944L) != 0)
                 {
                     value = _headers._Translate;
@@ -690,7 +690,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 549755813888L) != 0)
                 {
                     value = _headers._UserAgent;
@@ -707,7 +707,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 1099511627776L) != 0)
                 {
                     value = _headers._Origin;
@@ -724,7 +724,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 2199023255552L) != 0)
                 {
                     value = _headers._AccessControlRequestMethod;
@@ -741,7 +741,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 4398046511104L) != 0)
                 {
                     value = _headers._AccessControlRequestHeaders;
@@ -758,7 +758,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if (_contentLength.HasValue)
                 {
                     value = new StringValues(HeaderUtilities.FormatNonNegativeInt64(_contentLength.Value));
@@ -778,6 +778,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
 
         protected override bool TryGetValueFast(string key, out StringValues value)
         {
+            value = default;
             switch (key.Length)
             {
                 case 13:
@@ -4810,7 +4811,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 1L) != 0)
                 {
                     value = _headers._CacheControl;
@@ -4827,7 +4828,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 2L) != 0)
                 {
                     value = _headers._Connection;
@@ -4845,7 +4846,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 4L) != 0)
                 {
                     value = _headers._Date;
@@ -4863,7 +4864,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 8L) != 0)
                 {
                     value = _headers._KeepAlive;
@@ -4880,7 +4881,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 16L) != 0)
                 {
                     value = _headers._Pragma;
@@ -4897,7 +4898,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 32L) != 0)
                 {
                     value = _headers._Trailer;
@@ -4914,7 +4915,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 64L) != 0)
                 {
                     value = _headers._TransferEncoding;
@@ -4932,7 +4933,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 128L) != 0)
                 {
                     value = _headers._Upgrade;
@@ -4949,7 +4950,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 256L) != 0)
                 {
                     value = _headers._Via;
@@ -4966,7 +4967,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 512L) != 0)
                 {
                     value = _headers._Warning;
@@ -4983,7 +4984,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 1024L) != 0)
                 {
                     value = _headers._Allow;
@@ -5000,7 +5001,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 2048L) != 0)
                 {
                     value = _headers._ContentType;
@@ -5017,7 +5018,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 4096L) != 0)
                 {
                     value = _headers._ContentEncoding;
@@ -5034,7 +5035,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 8192L) != 0)
                 {
                     value = _headers._ContentLanguage;
@@ -5051,7 +5052,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 16384L) != 0)
                 {
                     value = _headers._ContentLocation;
@@ -5068,7 +5069,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 32768L) != 0)
                 {
                     value = _headers._ContentMD5;
@@ -5085,7 +5086,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 65536L) != 0)
                 {
                     value = _headers._ContentRange;
@@ -5102,7 +5103,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 131072L) != 0)
                 {
                     value = _headers._Expires;
@@ -5119,7 +5120,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 262144L) != 0)
                 {
                     value = _headers._LastModified;
@@ -5136,7 +5137,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 524288L) != 0)
                 {
                     value = _headers._AcceptRanges;
@@ -5153,7 +5154,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 1048576L) != 0)
                 {
                     value = _headers._Age;
@@ -5170,7 +5171,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 2097152L) != 0)
                 {
                     value = _headers._ETag;
@@ -5187,7 +5188,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 4194304L) != 0)
                 {
                     value = _headers._Location;
@@ -5204,7 +5205,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 8388608L) != 0)
                 {
                     value = _headers._ProxyAuthenticate;
@@ -5221,7 +5222,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 16777216L) != 0)
                 {
                     value = _headers._RetryAfter;
@@ -5238,7 +5239,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 33554432L) != 0)
                 {
                     value = _headers._Server;
@@ -5256,7 +5257,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 67108864L) != 0)
                 {
                     value = _headers._SetCookie;
@@ -5273,7 +5274,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 134217728L) != 0)
                 {
                     value = _headers._Vary;
@@ -5290,7 +5291,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 268435456L) != 0)
                 {
                     value = _headers._WWWAuthenticate;
@@ -5307,7 +5308,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 536870912L) != 0)
                 {
                     value = _headers._AccessControlAllowCredentials;
@@ -5324,7 +5325,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 1073741824L) != 0)
                 {
                     value = _headers._AccessControlAllowHeaders;
@@ -5341,7 +5342,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 2147483648L) != 0)
                 {
                     value = _headers._AccessControlAllowMethods;
@@ -5358,7 +5359,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 4294967296L) != 0)
                 {
                     value = _headers._AccessControlAllowOrigin;
@@ -5375,7 +5376,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 8589934592L) != 0)
                 {
                     value = _headers._AccessControlExposeHeaders;
@@ -5392,7 +5393,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 17179869184L) != 0)
                 {
                     value = _headers._AccessControlMaxAge;
@@ -5409,7 +5410,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if (_contentLength.HasValue)
                 {
                     value = new StringValues(HeaderUtilities.FormatNonNegativeInt64(_contentLength.Value));
@@ -5453,6 +5454,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
 
         protected override bool TryGetValueFast(string key, out StringValues value)
         {
+            value = default;
             switch (key.Length)
             {
                 case 13:
@@ -9015,7 +9017,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {
             get
             {
-                StringValues value;
+                StringValues value = default;
                 if ((_bits & 1L) != 0)
                 {
                     value = _headers._ETag;
@@ -9036,6 +9038,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
 
         protected override bool TryGetValueFast(string key, out StringValues value)
         {
+            value = default;
             switch (key.Length)
             {
                 case 4:

+ 3 - 2
src/Servers/Kestrel/tools/CodeGenerator/KnownHeaders.cs

@@ -356,7 +356,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
         {{{(header.Identifier == "ContentLength" ? $@"
             get
             {{
-                StringValues value;
+                StringValues value = default;
                 if (_contentLength.HasValue)
                 {{
                     value = new StringValues(HeaderUtilities.FormatNonNegativeInt64(_contentLength.Value));
@@ -369,7 +369,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
             }}" : $@"
             get
             {{
-                StringValues value;
+                StringValues value = default;
                 if ({header.TestBit()})
                 {{
                     value = _headers._{header.Identifier};
@@ -397,6 +397,7 @@ namespace Microsoft.AspNetCore.Server.Kestrel.Core.Internal.Http
 
         protected override bool TryGetValueFast(string key, out StringValues value)
         {{
+            value = default;
             switch (key.Length)
             {{{Each(loop.HeadersByLength, byLength => $@"
                 case {byLength.Key}: