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
Don't duplicate the base class when using constantSuper
#13303
Conversation
nicolo-ribaudo
commented
May 12, 2021
•
edited by gitpod-io
bot
edited by gitpod-io
bot
Q | A |
---|---|
Fixed Issues? | Ref #13297 (comment) |
Patch: Bug Fix? | |
Major: Breaking Change? | |
Minor: New Feature? | |
Tests Added + Pass? | Yes |
Documentation PR Link | |
Any Dependency Changes? | |
License | MIT |
var _B; | ||
|
||
class A extends (_B = class B {}) {} | ||
|
||
babelHelpers.defineProperty(A, "x", _B.x); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The output was
class A extends class B {} {}
babelHelpers.defineProperty(A, "x", (class B {}).x);
which is wrong if the extends
clause has side effects or if it has identity.
Build successful! You can test your changes in the REPL here: https://babeljs.io/repl/build/46132/ |
This pull request is automatically built and testable in CodeSandbox. To see build info of the built libraries, click here or the icon next to each commit SHA. Latest deployment of this branch, based on commit f52b06b:
|
7066d76
to
cdb3474
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
For reference, Babel works as expected when the assumption constantSuper
is not enabled (default).
cdb3474
to
f52b06b
Compare