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
Skipping an @implements can cause misoptimization with typed optimizations #1072
Labels
typed optimizations
Bugs that only cause problems with typed optimizations
Comments
evmar
added
the
typed optimizations
Bugs that only cause problems with typed optimizations
label
Sep 17, 2019
After some work in this area, I now better understand all the cases here.
Note that fixing #2 ends up triggering conformance because there's an Angular type that extends Window and by using that indirection people were calling unsafe window functions. An approach to #4 that includes #2 are in #1077 but that was taking the wrong approach and triggered the problems in #2 and got #3 wrong I think. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
In some cases we back off from emitting an "@implements" tag. But with typed optimizations, every "@implements" is potentially load-bearing.
At the TS level, every "implements" is always optional. At the Closure level, it is dangerous to ever leave out an "@implements". We have no good user-facing way of reconciling these two.
I think we should instead say something like: if you ever write "implements" in TS, we always emit an "@implements", and if the latter fails for some reason you should delete the "implements" from the TS side.
The text was updated successfully, but these errors were encountered: