25f4aa70b8
The UnionTypeMask k-limit can cause cycles in the type graph to end up in an infinite loop where they continually widen and narrow. The solution is to ensure monotonicity of these union operations, if we are attempting to go from a FlatTypeMask to a UnionTypeMask, the UnionTypeMask should be strictly wider than the FlatTypeMask. Change-Id: I32ec0927c7c7863a5f093df7c087b19ef3f1bc01 Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/296480 Commit-Queue: Nate Biggs <natebiggs@google.com> Reviewed-by: Mayank Patke <fishythefish@google.com>