@@ -683,7 +683,7 @@ private static bool TryGetGenericInterfaceArgument(Type type, Type genericInterf
683683 // value types: avoid the worklist because ClonerToExprGenerator.GenerateClonerInternal doesn't support value types
684684 if ( objType . IsValueType ( ) )
685685 {
686- object cloned = recursiveCloner ( obj , state ) ;
686+ object cloned = recursiveCloner ! ( obj , state ) ;
687687 state . AddKnownRef ( obj , cloned ) ;
688688 return cloned ;
689689 }
@@ -706,15 +706,15 @@ private static bool TryGetGenericInterfaceArgument(Type type, Type genericInterf
706706 // value types: avoid the worklist because ClonerToExprGenerator.GenerateClonerInternal doesn't support value types
707707 if ( objType . IsValueType ( ) )
708708 {
709- object cloned = recursiveCloner ( obj , state ) ;
709+ object cloned = recursiveCloner ! ( obj , state ) ;
710710 state . AddKnownRef ( obj , cloned ) ;
711711 return cloned ;
712712 }
713713
714714 return CloneClassShallowAndTrack ( obj , state ) ;
715715 }
716716
717- return recursiveCloner ( obj , state ) ;
717+ return recursiveCloner ! ( obj , state ) ;
718718 }
719719 finally
720720 {
@@ -1152,8 +1152,8 @@ internal static T[] Clone1DimArraySafeInternal<T>(T[] obj, FastCloneState state)
11521152#if NET6_0_OR_GREATER
11531153 foreach ( KeyValuePair < TKey , TValue > kvp in obj )
11541154 {
1155- ref TValue valueRef = ref CollectionsMarshal . GetValueRefOrAddDefault ( result , kvp . Key , out _ ) ;
1156- valueRef = ignoreValues ? default ! : kvp . Value ;
1155+ ref TValue ? valueRef = ref CollectionsMarshal . GetValueRefOrAddDefault ( result , kvp . Key , out _ ) ;
1156+ valueRef = ignoreValues ? default : kvp . Value ;
11571157 }
11581158#else
11591159 foreach ( KeyValuePair < TKey , TValue > kvp in obj )
0 commit comments