Leaf Petersen
Leaf Petersen
@eernstg > 2\. `implements` is a requirement on the extension struct (so we must have the specified members, with a correct override relation to implemented types), the extension struct is...
cc @mit-mit @lrhn @eernstg @chloestefantsova @johnniwinther @munificent @stereotype441 @natebosch @jakemac53 @rakudrama @srujzs @sigmundch @rileyporter @mraleph @mkustermann
In general, my take on this is that WRT the semantic aspect, I don't like the idea of adding an indirection, and I think there is real value in having...
@tatumizer this discussion is getting very far afield from the issue topic, can you please move discussion of stable getters to the stable getter issue? Thanks!
A note on stability: this implies that changing a private getter or field in a way that makes it non-stable can break unrelated downstream code. This isn't a deep change...
> Changes to private members should only affect the library itself, so it's not breaking _unrelated_ code (considering the entire library as related to itself). No, sorry, I really mean...
The following issues are also relevant here: - https://github.com/dart-lang/language/issues/2263 - https://github.com/dart-lang/language/issues/2265
I filed https://github.com/dart-lang/language/issues/2275 to discuss how to specify a restriction to prevent private members from being overridden outside of their library.
> To make this sound, we only need to make one breaking change to the language: Don't delegate private names to `noSuchMethod`. I'm not sure if we ever specified whether...
This should probably get added in soon.