We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
DDC relies on the kernel implementation of DartTypeEquivalence to determine if some casts can be elided or replaced as null checks.
DartTypeEquivalence
Some instances of record types can cause an infinite loop when checking if they are equivalent.
Originally reported here: flutter/flutter#129482
This code will cause the DDC compiler to hang:
main() { Object value = 'x'; (a: 'a', b: value) as ({String a, String b}); }
The text was updated successfully, but these errors were encountered:
be6a560
[stable][kernel] Fix record type equivalence
59d6206
- Increment index to avoid infinite loop when the first named elements in the two record types are equivalent. - Add some test cases for record types. Fixes: #52817 Cherry-pick: https://dart-review.googlesource.com/c/sdk/+/311929 Change-Id: Iaa4dbf7d2659deeac1eab642cc3aefad9a08f67e Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/312709 Commit-Queue: Nicholas Shahan <[email protected]> Reviewed-by: Sigmund Cherem <[email protected]> Reviewed-by: Kevin Chisholm <[email protected]>
[beta][kernel] Fix record type equivalence
1b6421a
- Increment index to avoid infinite loop when the first named elements in the two record types are equivalent. - Add some test cases for record types. Fixes: #52817 Cherry-pick: https://dart-review.googlesource.com/c/sdk/+/311929 Change-Id: I1911346ac2551f1b0eb8587e49675a2ac8f3232b Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/312710 Reviewed-by: Sigmund Cherem <[email protected]> Commit-Queue: Nicholas Shahan <[email protected]>
nshahan
No branches or pull requests
DDC relies on the kernel implementation of
DartTypeEquivalence
to determine if some casts can be elided or replaced as null checks.Some instances of record types can cause an infinite loop when checking if they are equivalent.
Originally reported here: flutter/flutter#129482
This code will cause the DDC compiler to hang:
The text was updated successfully, but these errors were encountered: