Array.Initialize calls value type default constructor via reflection. There is nothing preventing the value type default constructor from getting trimmed. See discussion in #77336 (comment)
However, adding RequiresUnreferencedCode on Array.Initialize has a ripple effect. It introduces warnings in situations where array type is passed into DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All). We have some instances of this problem in our own libraries.
Array.Initialize calls value type default constructor via reflection. There is nothing preventing the value type default constructor from getting trimmed. See discussion in #77336 (comment)
However, adding RequiresUnreferencedCode on Array.Initialize has a ripple effect. It introduces warnings in situations where array type is passed into DynamicallyAccessedMembers(DynamicallyAccessedMemberTypes.All). We have some instances of this problem in our own libraries.