From 620040929dcd07fcec5c6be36e4ed42b410b3722 Mon Sep 17 00:00:00 2001 From: Timothy Makkison Date: Thu, 3 Aug 2023 15:45:26 +0100 Subject: [PATCH] fix: fix nullable arrays --- .../MappingBuilders/EnumerableMappingBuilder.cs | 7 ++++++- ...abledNullableContextInSelectClause#Mapper.g.verified.cs | 4 ++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/src/Riok.Mapperly/Descriptors/MappingBuilders/EnumerableMappingBuilder.cs b/src/Riok.Mapperly/Descriptors/MappingBuilders/EnumerableMappingBuilder.cs index bac0361ea7..9deb1eb317 100644 --- a/src/Riok.Mapperly/Descriptors/MappingBuilders/EnumerableMappingBuilder.cs +++ b/src/Riok.Mapperly/Descriptors/MappingBuilders/EnumerableMappingBuilder.cs @@ -54,7 +54,12 @@ or CollectionType.IEnumerable // a single Array.Clone / cast mapping call should be sufficient and fast, // use a for loop mapping otherwise. if (!elementMapping.IsSynthetic) - return new ArrayForMapping(ctx.Source, ctx.Target, elementMapping, elementMapping.TargetType); + return new ArrayForMapping( + ctx.Source, + ctx.Types.GetArrayType(elementMapping.TargetType), + elementMapping, + elementMapping.TargetType + ); return ctx.MapperConfiguration.UseDeepCloning ? new ArrayCloneMapping(ctx.Source, ctx.Target) diff --git a/test/Riok.Mapperly.Tests/_snapshots/EnumerableTest.ShouldUpgradeNullabilityInDisabledNullableContextInSelectClause#Mapper.g.verified.cs b/test/Riok.Mapperly.Tests/_snapshots/EnumerableTest.ShouldUpgradeNullabilityInDisabledNullableContextInSelectClause#Mapper.g.verified.cs index 3b1200f96e..1783f071e0 100644 --- a/test/Riok.Mapperly.Tests/_snapshots/EnumerableTest.ShouldUpgradeNullabilityInDisabledNullableContextInSelectClause#Mapper.g.verified.cs +++ b/test/Riok.Mapperly.Tests/_snapshots/EnumerableTest.ShouldUpgradeNullabilityInDisabledNullableContextInSelectClause#Mapper.g.verified.cs @@ -25,7 +25,7 @@ public partial class Mapper return target; } - private global::D[] MapToDArray(global::C[] source) + private global::D?[] MapToDArray(global::C[] source) { var target = new global::D?[source.Length]; for (var i = 0; i < source.Length; i++) @@ -35,4 +35,4 @@ public partial class Mapper return target; } -} \ No newline at end of file +}