From 64bf394cdb2b310a86241ce2b31a4dc37354ff38 Mon Sep 17 00:00:00 2001 From: Marek Safar Date: Sat, 27 Mar 2021 09:28:20 +0100 Subject: [PATCH] Remove automatic default serializable constructor marking --- src/linker/Linker.Steps/MarkStep.cs | 5 ++--- .../BCLFeatures/SerializationCtors.cs | 3 --- 2 files changed, 2 insertions(+), 6 deletions(-) diff --git a/src/linker/Linker.Steps/MarkStep.cs b/src/linker/Linker.Steps/MarkStep.cs index f9252b80c9a6..715b3fe21a5f 100644 --- a/src/linker/Linker.Steps/MarkStep.cs +++ b/src/linker/Linker.Steps/MarkStep.cs @@ -1568,12 +1568,11 @@ void MarkModule (ModuleDefinition module, DependencyInfo reason) protected virtual void MarkSerializable (TypeDefinition type) { - // TODO: move after the check once SPC is correctly annotated - MarkDefaultConstructor (type, new DependencyInfo (DependencyKind.SerializationMethodForType, type), type); - if (_context.GetTargetRuntimeVersion () > TargetRuntimeVersion.NET5) return; + MarkDefaultConstructor (type, new DependencyInfo (DependencyKind.SerializationMethodForType, type), type); + MarkMethodsIf (type.Methods, IsSpecialSerializationConstructor, new DependencyInfo (DependencyKind.SerializationMethodForType, type), type); } diff --git a/test/Mono.Linker.Tests.Cases/BCLFeatures/SerializationCtors.cs b/test/Mono.Linker.Tests.Cases/BCLFeatures/SerializationCtors.cs index d069d8c44aa7..84224f6e6471 100644 --- a/test/Mono.Linker.Tests.Cases/BCLFeatures/SerializationCtors.cs +++ b/test/Mono.Linker.Tests.Cases/BCLFeatures/SerializationCtors.cs @@ -16,9 +16,6 @@ public static void Main () [Serializable] class C { - //#if !NET6_0 - [Kept] - //#endif public C () { }