mirror of
https://github.com/dart-lang/sdk
synced 2024-09-16 01:30:32 +00:00
1ec87d1770
TypeArguments::IsUninstantiatedIdentity predicate is checking if instantiator type arguments could be reused when instantiating given type arguments (when given type arguments repeat type parameters). This predicate was not accounting for nullable and legacy type parameters which could change nullability of types when instantiated. For example: class A<T> {} 1. instantiator type arguments [int], instantiating A<T?> results in [int?] type arguments vector, so instantiator type arguments should not be reused. 2. instantiator type arguments [int], instantiating A<T*> results in [int*] type arguments vector so instantiator type arguments should not be reused. Change-Id: I1e041486829e8ac0cfd3ce59d0ec5164a0f3724c Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136709 Commit-Queue: Alexander Markov <alexmarkov@google.com> Reviewed-by: Régis Crelier <regis@google.com> |
||
---|---|---|
.. | ||
bin | ||
docs | ||
include | ||
lib | ||
llvm_codegen | ||
observatory | ||
platform | ||
tests/vm | ||
third_party | ||
tools | ||
vm | ||
.clang-tidy | ||
.gitignore | ||
BUILD.gn | ||
codereview.settings | ||
configs.gni | ||
CPPLINT.cfg | ||
PRESUBMIT.py | ||
runtime_args.gni |