es/minifier: 静态方法别名解除依赖接收者的 Promise 方法
描述错误
静态方法别名"白名单"包括"承诺"方法. try replace static method call 替换了 promise.resolve 替换了一个赤裸的标识符被调用者,失去了内建中所需的承诺构建器接收器,即使内建中还没有被覆盖.
输入代码
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么? promise.resolve(1).when(console.log); Promitise.resolve(2).when(console.log) 互联网档案馆的存檔,存档日期2013-12-22.
配置
精确源复制所用的选项 :
贾森
{
"压缩":{
"违约":虚假,
"不安全 hoist static method alias":真实
{\fn华文楷体\fs16\1cHE0E0E0}
"相会":假,
"模块":虚假
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你觉得呢?QQ 链接到复制这个问题的代码
[SWC游戏场的可移植输入和设置](https://play.swc.rs/?version=1.16.2&code=H4siaAAAAAAAAC%2Fwsoys%2 HULE7VK0otzs8pS9Uw1NQryUjN00jOjOrl5KdrWgegKTLCGAYW3ZGUKAYAA%3D&config=H4sIAAAAAAAAAAAAAAAAAAC%2F02NSWDMAXEXK07gl6h57BCFtTVVPzDKKIEH%2BO61DYXKLVVCVK5K54hANqlykykhvzZPViiiHCIIF2BIF%BHBHHHHHLKDPLGWGGGG2GG2JJJJJJZZMMFM
SWC 信息输出
swc ecma miniters 61.0.5 ' ,承诺246e6156ca14eaa072433a8d9aa994c91c95cf3d',macOS arm64,Rust1.96.0-夜(f5eca4f参考2026-04-09)',Nodev20.2'。
观察到的离职和新获得的权威性原产地/主要 ' 也是同样的承诺。 获取:git取 -- no-tags project主',2026-09-09T03:15:52Z',存储器swc-project/swc'。 复制工作是在一次单独的抽查中进行的。 因此,原因仍然在默认分支,不仅在更古老的释放中.
为了对大小写进行微调,源使用遵循了寄存器的例子:解析,解析绑定,转换特尔瑟压缩机选项,调用优化,应用固定器,放出,以及分别执行原始/输出. 只有脚本的行为使用脚本解析. 游乐场搭载可移植的源/设置;其已发布的版本并不能证明发行量与被绑的源构建匹配. 没有实施改变。
预期行为
退出 0; stdout :
页:1 1个 2个
实际行为
{\fn黑体\fs22\bord1\shad0\3aHBE\4aH00\fscx67\fscy66\2cHFFFFFF\3cH808080}你来干什么?
var Promise resolve=Promise.resolve; Promise resolve(1).then(console.log); Promise resolve(2).then(console.log);退出 1; stdout :
页:1
错误: 类型错误: 承诺解答调用非对象
翻译:
`swc ecma minider 61.0.5',`246e6156ca14aa072433ac8d9a994c91c95cf3d'(也取自"main").
其他背景
责任代码:[compress/opimization/static alias.rs:337](https://GitHub.com/swc-project/swc/blob/24646e6156ca14eaa072433a8d9a994c91c95cf3d/crates/swc ecma minifier/src/compress/opimization/static alias.rs#L337)。
拟议范围
将依赖接收器的许诺静态排除在离散的静态-方法别名优化之外(解决、拒绝、所有、全部解决、任何、种族、以及解决者)。 保存接收器-独立化名和单独的全局构件化名优化.
将变化限制在这个语义边界及其回归覆盖. 没有API扩展,
. . . . . . .内容来源: swc-project/swc