Non annotated evolution missed constructors when generics get involved

Description

Adding a non-nullable parameter to a class should work IFF a constructor is provided annotated with the <AT>DeprecatedConstructgorForSerialization annotation. This constructor provides defaults for the properties not present when the class may have been serialized allowing instances of it to be deserialized.

However, something like this was breaking it

when changed to something like this

Because there is the deprecated constructor this should be valid for reading instances of the class serialized as they were in the before time, in the long long ago.

The actual problem is the generics and the way constructors are selected. The types of the serialized args are the generic type because we stripped all type info off of generics a while ago because ti just causes problems. However, the evolver code wasn't and it was seeing List and List<Int> as different

Assignee

Katelyn Baker

Reporter

Katelyn Baker

Priority

Medium

Fix versions

Ported to...

None

Feature Team

Network Services

CVSS Vector

None

Engineering Teams

None

Severity

Medium
Configure