febdd14b3d
Updated the ddc canary implementation to handle variance subtyping. Variance subtyping is currently broken on DDC. This CL emits a runtime call to `addTypeParameterVariances` from `rti.dart` to annotate the type parameter variances of each interface that's appeared in type recipes. The rest of the subtyping algorithm already exists from the Dart2JS implementation, so the variance feature should be working correctly now in DDC with these changes and after the switch to canary by default. Existing tests now pass: language/variance/variance_in_subtyping_test, language/variance/variance_inout_subtyping_test Fixes https://github.com/dart-lang/sdk/issues/54367 Change-Id: I8483570184de61f2a6d365f89446720ef2349608 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/338651 Reviewed-by: Nate Bosch <nbosch@google.com> Commit-Queue: Kallen Tu <kallentu@google.com> Reviewed-by: Nicholas Shahan <nshahan@google.com>