Skip to content

is changing Array -> FrozenArray binary compatible? #789

New issue

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

Closed
yurique opened this issue Jul 9, 2023 · 4 comments
Closed

is changing Array -> FrozenArray binary compatible? #789

yurique opened this issue Jul 9, 2023 · 4 comments

Comments

@yurique
Copy link

yurique commented Jul 9, 2023

After updating 2.3.0 -> 2.6.0 (as part of Laminar update) I got a compilation error in this piece of code:

Option(ev.dataTransfer).exists(_.types.contains(format))

types became a FrozenArray and no longer has the .contains method.

So this is obviously not source-compatible (which is okay and expected), but is it binary compatible?

PR:
#763

Relevant change:
976316c#diff-bee8c85a4317c93e362f64be85e566c7583875855b80a078cc8dddc277700a72R78

@yurique yurique changed the title is changing Array -> FrozenArray binary compatible? is changing Array -> FrozenArray binary compatible? Jul 9, 2023
@armanbilge
Copy link
Member

Yes, see:

Specifically:

Most changes in the DOM facades belong to one of those, since it is often fixing types and adding members in classes/traits. They would be flagged as false positives.

@yurique
Copy link
Author

yurique commented Jul 9, 2023

Right, this does make sense in the context of js+dom :)

Thanks!

Are there extension methods for the frozen array somewhere? (To get the .contains back, for example)

@armanbilge
Copy link
Member

Are there extension methods for the frozen array somewhere? (To get the .contains back, for example)

I guess not, sorry about that 😕 we should add them, or find some other solution.

@yurique
Copy link
Author

yurique commented Jul 9, 2023

No worries! (there are always workarounds to be found :) )

@yurique yurique closed this as completed Jul 9, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants