diff --git a/src/libraries/System.Text.Json/gen/JsonSourceGenerator.Emitter.cs b/src/libraries/System.Text.Json/gen/JsonSourceGenerator.Emitter.cs
index 90575721c507d7..db08be80c53d02 100644
--- a/src/libraries/System.Text.Json/gen/JsonSourceGenerator.Emitter.cs
+++ b/src/libraries/System.Text.Json/gen/JsonSourceGenerator.Emitter.cs
@@ -3,12 +3,10 @@
using System.Collections.Generic;
using System.Diagnostics;
-using System.Globalization;
using System.Linq;
using System.Reflection;
using System.Text.Json.Serialization;
using Microsoft.CodeAnalysis;
-using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.Text;
using SourceGenerators;
@@ -1009,7 +1007,9 @@ private static void GenerateTypeInfoFactoryHeader(SourceWriter writer, TypeGener
///
/// Defines the source generated JSON serialization contract metadata for a given type.
///
+ #nullable disable annotations // Marking the property type as nullable-oblivious.
public {{typeInfoFQN}} {{typeInfoPropertyName}}
+ #nullable enable annotations
{
get => _{{typeInfoPropertyName}} ??= ({{typeInfoFQN}}){{OptionsInstanceVariableName}}.GetTypeInfo(typeof({{typeFQN}}));
}
diff --git a/src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.Unit.Tests/JsonSourceGeneratorTests.cs b/src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.Unit.Tests/JsonSourceGeneratorTests.cs
index ce27630b6ab692..3c9134db50bca8 100644
--- a/src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.Unit.Tests/JsonSourceGeneratorTests.cs
+++ b/src/libraries/System.Text.Json/tests/System.Text.Json.SourceGeneration.Unit.Tests/JsonSourceGeneratorTests.cs
@@ -737,5 +737,36 @@ public class MyClass
Compilation compilation = CompilationHelper.CreateCompilation(source, parseOptions: CompilationHelper.CreateParseOptions(languageVersion));
CompilationHelper.RunJsonSourceGenerator(compilation);
}
+
+ [Fact]
+ public void DoesNotWarnOnNullabilityMismatch()
+ {
+ string source = $$"""
+ using System.Collections.Generic;
+ using System.Text.Json;
+ using System.Text.Json.Serialization;
+ #nullable enable
+
+ namespace HelloWorld
+ {
+ public static class MyClass
+ {
+ public static string Test()
+ {
+ Dictionary values = new();
+ return JsonSerializer.Serialize(values, JsonContext.Default.DictionaryInt32String);
+ }
+ }
+
+ [JsonSerializable(typeof(Dictionary))]
+ internal partial class JsonContext : JsonSerializerContext
+ {
+ }
+ }
+ """;
+
+ Compilation compilation = CompilationHelper.CreateCompilation(source);
+ CompilationHelper.RunJsonSourceGenerator(compilation);
+ }
}
}