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

Sprint

None

Epic Link

None

Priority

Medium

Engineering Teams

None

Fix versions

Affects versions

None

Ported to...

None

Story Points / Dev Days

None

Build cut

None
Configure