Skip to content

Commit 990e48e

Browse files
authoredJun 19, 2023
fix(es/compat): Fix optional chaining (#7530)
**Description:** This fixes a few bugs with optional chaining: - [`a?.c()`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdXSFSwtVXIK83JUbBXKM1LSU3LzEtNUbBSSNRL1tC05kq0h9AAouc%2F7DgAAAA%3D&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D) - [`a?.b.c()`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdXSFSwtVXIK83JUbBXKM1LSU3LzEtNUbBSSNRL0kvW0LTmSrSHsQBsP8xLPAAAAA%3D%3D&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D) - [`a.c?.()`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAAxWKsQ3AIAwEe6b4Ehq7J0IMkQGQYxMlkkUq9g80d1ccM87nm264eg7MiE2aomwvSiJNKAVjuqNiDuv3O7ohY4%2Bk4r7WdAQhrRRX%2FIwaKV1TAAAA&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D) - [`a.b.c?.()`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAAyWLsQ3AIAwEe6b4Ehq7J0IMkQEQ2ESJZJGK%2FYNCdVfcMeO832mK1qNjhi%2B1tCJI2xYrtUASkBLGNEPGHNqvZ3RFxM5Jqtk%2FhMOtgSSTX%2FoBjF6UKV8AAAA%3D&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D) - [`a?.b[c?.d]`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdX0IhPVLBVSNRUsLVVyCvNyVGwVyjLz0xRMFCwUohP1EuK1ohPBipIxq4gWS8l1por0R6oLtkezAYAJs%2FWxmEAAAA%3D&config=H4sIAAAAAAAAA2VSu27DMAzc8xUC5wAZii7ZWnRJgXTKDxAKkyrQwyDpNEbgf69kxI4jexAk3olH3fm%2BMgYoXsFszT3vywchHQm2pa7cwXos28T0LRl4m0qnxJY%2BvD8wRsmHUGDllibGsYsYnN2FJrHWoCKfScudUbsv2LDARewEgI4CM24uezqj7b4oj4aauOpf5EdoT4pHVFxSmNDqS1tjNhvDbVQXKNuAraaA6iysC5DYWI8izs4uwIMOC%2F6cpL%2Bc%2FnanHwwkDVpaDJM5rdBn67y6WHv5eNCVfGpCzibDJ%2FQyw%2Fv1qtqAT0lqHWiQhfjVSumi4m2I3QYUy65RmNl0kdtS8OlvPWxfhTw0lnd45pv%2FstbTLOKuGeyzKYQULwIT08l%2B5BaJVf8PfP2zz7YCAAA%3D) - [`delete foo?.bar`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdXSMvPV7C1VcgrzclRsFcoKSpNVbBSSEnNSS1JBcnpJSUWcSG49iA%2BAGcLTstEAAAA&config=H4sIAAAAAAAAA1WPSw7CMAxE9zlF5DULYIEEd%2BAQVnCrVPkpTiWqqncnTZMAO3vG42evQkqYWMFDrrnMTcDIFHufFV5cwndWgJRFVlGHBKfmTrxbAxqmIm2HAwnjSKmk%2BHq%2B3GsCjPdMWU5xpipZ7fSw%2FCKVtyESc9vcaRbdaOgfKCoUrH%2FNxayvpCXQccANvkMN1heD5mdL7leJ7QOQNa2NFgEAAA%3D%3D) - [`function foo(a, b = a?.b) {}`](https://play.swc.rs/?version=1.3.64&code=H4sIAAAAAAAAA9PXVwjOyC%2FNSVFISrXi0tdXSCvNSy7JzM9TSMvP10jUUUhSsFXQ0NBUsLVTqFYoSyxSiE%2B0VnjUsEyhVlNDU1OhupYLm45Ee70kkCQAp8DQOl8AAAA%3D&config=H4sIAAAAAAAAA22Rz07DMAzG73uKyOdJAw5I7Ii4cBjvYKXuyJQ%2Fle3AqmnvTltIm63cHH%2B%2F%2BPtkXzbGwEks7M1lKIeHMkZpE4e5NbU9HdH2b2QToyYeROVM2wVoinQgxQYV1wgTWr0Za8xuZzhHdYH2BjBrCqjOwnYUEhvrUcTZ6gP84bDia0g%2FOX2%2Ftx8YSDq0tAozMFnoNTuvLsp%2FckNf5FMXKI6ZW%2FRS6ddSzgX4lOTeBzpkIb5dpfRR8TzmJxtQLLtOoVrTSc5rw2W%2F92GXBIp8JJ0Gy9PD48s0dJIhpCZ7qq7cd%2FQLPsMMOTkUrBhAcNG1fcmzuf4AkV7gUzECAAA%3D) It also optimizes the AST for runtime evaluation. Before, we constructed a leftwards conditional tree (`(_a_b = (_a = a) == null ? void 0 : _a.b) == null ? void 0 : _a_b.c`) instead of a rightward tree (`(_a = a) == null ? void 0 : (_a_b = _a.b) == null ? void 0 : _a_b.c`), which required multiple `== null` checks after the first nullish is found. **Related issue:** - Closes #7531.
1 parent 0859b76 commit 990e48e

File tree

95 files changed

+787
-781
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

95 files changed

+787
-781
lines changed
 

‎crates/swc/tests/fixture/issues-1xxx/1333/case3/output/index.js

+2-2
Original file line numberDiff line numberDiff line change
@@ -75,8 +75,8 @@ class RequestHandler {
7575
* @param {Response} res
7676
* @return {* | Promise<any>}
7777
*/ static async parseResponse(res) {
78-
var _res_headers_get_startsWith, _this;
79-
if ((_this = res.headers.get("Content-Type")) === null || _this === void 0 ? void 0 : (_res_headers_get_startsWith = _this.startsWith) === null || _res_headers_get_startsWith === void 0 ? void 0 : _res_headers_get_startsWith.call(_this, "application/json")) {
78+
var _res_headers_get;
79+
if ((_res_headers_get = res.headers.get("Content-Type")) === null || _res_headers_get === void 0 ? void 0 : _res_headers_get.startsWith("application/json")) {
8080
return await res.json();
8181
}
8282
return res.buffer();
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
"use strict";const createRegisterItems=registerType=>async(a,b)=>{var _root;const a=(_root=root)===null||_root===void 0?void 0:_root.test};
1+
"use strict";const createRegisterItems=registerType=>async(a,b)=>{const a=root?.test};

1 commit comments

Comments
 (1)

github-actions[bot] commented on Jun 19, 2023

@github-actions[bot]

Benchmark

Benchmark suite Current: 990e48e Previous: f42fdd2 Ratio
es/full/bugs-1 355878 ns/iter (± 6340) 357387 ns/iter (± 7209) 1.00
es/full/minify/libraries/antd 1846815370 ns/iter (± 27143843) 1894867384 ns/iter (± 33413328) 0.97
es/full/minify/libraries/d3 370202996 ns/iter (± 9708209) 374257258 ns/iter (± 8553329) 0.99
es/full/minify/libraries/echarts 1421567379 ns/iter (± 19185235) 1463349284 ns/iter (± 12068537) 0.97
es/full/minify/libraries/jquery 108091306 ns/iter (± 817049) 110091642 ns/iter (± 698406) 0.98
es/full/minify/libraries/lodash 132435701 ns/iter (± 1397646) 133334890 ns/iter (± 1196348) 0.99
es/full/minify/libraries/moment 63601561 ns/iter (± 346423) 63503576 ns/iter (± 583521) 1.00
es/full/minify/libraries/react 22734270 ns/iter (± 110565) 22693856 ns/iter (± 148355) 1.00
es/full/minify/libraries/terser 288628240 ns/iter (± 2884921) 297997336 ns/iter (± 3515108) 0.97
es/full/minify/libraries/three 534384851 ns/iter (± 12007094) 538296215 ns/iter (± 7296576) 0.99
es/full/minify/libraries/typescript 3563329823 ns/iter (± 35058121) 3625496829 ns/iter (± 34903132) 0.98
es/full/minify/libraries/victory 760017492 ns/iter (± 19160614) 787749259 ns/iter (± 11179036) 0.96
es/full/minify/libraries/vue 158966868 ns/iter (± 1737687) 160447566 ns/iter (± 1044031) 0.99
es/full/codegen/es3 40642 ns/iter (± 91) 40065 ns/iter (± 95) 1.01
es/full/codegen/es5 40356 ns/iter (± 125) 40085 ns/iter (± 103) 1.01
es/full/codegen/es2015 40428 ns/iter (± 85) 40127 ns/iter (± 97) 1.01
es/full/codegen/es2016 40371 ns/iter (± 192) 40067 ns/iter (± 60) 1.01
es/full/codegen/es2017 40417 ns/iter (± 159) 40063 ns/iter (± 55) 1.01
es/full/codegen/es2018 39959 ns/iter (± 412) 40131 ns/iter (± 85) 1.00
es/full/codegen/es2019 39890 ns/iter (± 297) 40112 ns/iter (± 59) 0.99
es/full/codegen/es2020 39971 ns/iter (± 310) 40078 ns/iter (± 128) 1.00
es/full/all/es3 208207448 ns/iter (± 3089454) 208556208 ns/iter (± 2721954) 1.00
es/full/all/es5 198232478 ns/iter (± 2403720) 199644111 ns/iter (± 1970020) 0.99
es/full/all/es2015 155713499 ns/iter (± 2365254) 154141040 ns/iter (± 1312433) 1.01
es/full/all/es2016 154499737 ns/iter (± 1524366) 152819690 ns/iter (± 2139082) 1.01
es/full/all/es2017 154335066 ns/iter (± 2202976) 154190833 ns/iter (± 2252918) 1.00
es/full/all/es2018 152045204 ns/iter (± 1577277) 150423451 ns/iter (± 1848015) 1.01
es/full/all/es2019 149387992 ns/iter (± 1742691) 151297696 ns/iter (± 2376093) 0.99
es/full/all/es2020 147085025 ns/iter (± 1856909) 144884929 ns/iter (± 2090087) 1.02
es/full/parser 599865 ns/iter (± 8940) 596592 ns/iter (± 8859) 1.01
es/full/base/fixer 24145 ns/iter (± 216) 25806 ns/iter (± 45) 0.94
es/full/base/resolver_and_hygiene 104942 ns/iter (± 1125) 106146 ns/iter (± 154) 0.99
serialization of serde 290 ns/iter (± 7) 282 ns/iter (± 0) 1.03
css/minify/libraries/bootstrap 35080463 ns/iter (± 426345) 35884146 ns/iter (± 343779) 0.98
css/visitor/compare/clone 2342851 ns/iter (± 14211) 2364138 ns/iter (± 4527) 0.99
css/visitor/compare/visit_mut_span 2525932 ns/iter (± 9049) 2510393 ns/iter (± 5200) 1.01
css/visitor/compare/visit_mut_span_panic 2576954 ns/iter (± 13321) 2615062 ns/iter (± 4354) 0.99
css/visitor/compare/fold_span 3290608 ns/iter (± 19270) 3321902 ns/iter (± 11985) 0.99
css/visitor/compare/fold_span_panic 3450405 ns/iter (± 27267) 3497685 ns/iter (± 11626) 0.99
css/lexer/bootstrap_5_1_3 5418129 ns/iter (± 62632) 5538881 ns/iter (± 998) 0.98
css/lexer/foundation_6_7_4 4607298 ns/iter (± 22549) 4675091 ns/iter (± 2459) 0.99
css/lexer/tailwind_3_1_1 873026 ns/iter (± 5504) 888340 ns/iter (± 226) 0.98
css/parser/bootstrap_5_1_3 23550182 ns/iter (± 226378) 23940380 ns/iter (± 143394) 0.98
css/parser/foundation_6_7_4 18949804 ns/iter (± 187593) 19088951 ns/iter (± 37967) 0.99
css/parser/tailwind_3_1_1 3660693 ns/iter (± 15016) 3680254 ns/iter (± 2267) 0.99
es/codegen/colors 726519 ns/iter (± 396489) 742581 ns/iter (± 406560) 0.98
es/codegen/large 3022447 ns/iter (± 1586931) 3102986 ns/iter (± 1610663) 0.97
es/codegen/with-parser/colors 56671 ns/iter (± 560) 57997 ns/iter (± 686) 0.98
es/codegen/with-parser/large 569654 ns/iter (± 4482) 578294 ns/iter (± 3573) 0.99
es/minify/libraries/antd 1616763501 ns/iter (± 24080280) 1648536078 ns/iter (± 23640967) 0.98
es/minify/libraries/d3 322986182 ns/iter (± 4389971) 325818389 ns/iter (± 2318996) 0.99
es/minify/libraries/echarts 1240662531 ns/iter (± 21400973) 1282293853 ns/iter (± 21331060) 0.97
es/minify/libraries/jquery 95628935 ns/iter (± 1308859) 97436003 ns/iter (± 747454) 0.98
es/minify/libraries/lodash 119454398 ns/iter (± 1094081) 121504456 ns/iter (± 890482) 0.98
es/minify/libraries/moment 55679636 ns/iter (± 652220) 56500367 ns/iter (± 353232) 0.99
es/minify/libraries/react 20260404 ns/iter (± 78833) 20385651 ns/iter (± 87517) 0.99
es/minify/libraries/terser 242908634 ns/iter (± 2164553) 251428860 ns/iter (± 2344845) 0.97
es/minify/libraries/three 432083719 ns/iter (± 5043166) 444376043 ns/iter (± 6030289) 0.97
es/minify/libraries/typescript 3072812022 ns/iter (± 11918273) 3139761059 ns/iter (± 26384918) 0.98
es/minify/libraries/victory 658290263 ns/iter (± 10340781) 671476685 ns/iter (± 10742456) 0.98
es/minify/libraries/vue 142425926 ns/iter (± 2071489) 143049634 ns/iter (± 1739867) 1.00
es/visitor/compare/clone 2443981 ns/iter (± 61975) 2401065 ns/iter (± 11694) 1.02
es/visitor/compare/visit_mut_span 2794294 ns/iter (± 5140) 2799594 ns/iter (± 1670) 1.00
es/visitor/compare/visit_mut_span_panic 2833752 ns/iter (± 2895) 2831883 ns/iter (± 3820) 1.00
es/visitor/compare/fold_span 3934546 ns/iter (± 5407) 3939581 ns/iter (± 3787) 1.00
es/visitor/compare/fold_span_panic 4027221 ns/iter (± 5229) 4043698 ns/iter (± 9276) 1.00
es/lexer/colors 14681 ns/iter (± 68) 14875 ns/iter (± 34) 0.99
es/lexer/angular 6916748 ns/iter (± 18107) 6915369 ns/iter (± 11947) 1.00
es/lexer/backbone 839945 ns/iter (± 3817) 844062 ns/iter (± 2470) 1.00
es/lexer/jquery 4751212 ns/iter (± 5517) 4743355 ns/iter (± 7684) 1.00
es/lexer/jquery mobile 7311638 ns/iter (± 19274) 7314221 ns/iter (± 5640) 1.00
es/lexer/mootools 3721072 ns/iter (± 8861) 3736501 ns/iter (± 7242) 1.00
es/lexer/underscore 696143 ns/iter (± 2383) 699791 ns/iter (± 2597) 0.99
es/lexer/three 22218136 ns/iter (± 73200) 22275434 ns/iter (± 11124) 1.00
es/lexer/yui 4259871 ns/iter (± 16450) 4268864 ns/iter (± 1643) 1.00
es/parser/colors 34011 ns/iter (± 97) 33846 ns/iter (± 64) 1.00
es/parser/angular 16654512 ns/iter (± 204525) 16912234 ns/iter (± 91147) 0.98
es/parser/backbone 2379703 ns/iter (± 26179) 2440338 ns/iter (± 9275) 0.98
es/parser/jquery 12984002 ns/iter (± 153327) 13282318 ns/iter (± 92514) 0.98
es/parser/jquery mobile 20155306 ns/iter (± 266232) 20266332 ns/iter (± 177813) 0.99
es/parser/mootools 9858943 ns/iter (± 90393) 10083158 ns/iter (± 24016) 0.98
es/parser/underscore 2064050 ns/iter (± 13080) 2077804 ns/iter (± 12329) 0.99
es/parser/three 56875564 ns/iter (± 681465) 58948393 ns/iter (± 778075) 0.96
es/parser/yui 9978078 ns/iter (± 75563) 10218187 ns/iter (± 103146) 0.98
es/preset-env/usage/builtin_type 150764 ns/iter (± 34131) 155279 ns/iter (± 33816) 0.97
es/preset-env/usage/property 29110 ns/iter (± 272) 29527 ns/iter (± 62) 0.99
es/resolver/typescript 125722668 ns/iter (± 1572989) 129382169 ns/iter (± 3577586) 0.97
es/fixer/typescript 88657018 ns/iter (± 1824549) 91606178 ns/iter (± 1654351) 0.97
es/hygiene/typescript 201308054 ns/iter (± 2656521) 205329028 ns/iter (± 1988120) 0.98
es/resolver_with_hygiene/typescript 395433996 ns/iter (± 2326562) 406587463 ns/iter (± 3015924) 0.97
es/visitor/base-perf/module_clone 83543 ns/iter (± 604) 85462 ns/iter (± 486) 0.98
es/visitor/base-perf/fold_empty 93729 ns/iter (± 503) 94931 ns/iter (± 410) 0.99
es/visitor/base-perf/fold_noop_impl_all 94145 ns/iter (± 1099) 95307 ns/iter (± 259) 0.99
es/visitor/base-perf/fold_noop_impl_vec 94317 ns/iter (± 742) 95460 ns/iter (± 600) 0.99
es/visitor/base-perf/boxing_boxed_clone 58 ns/iter (± 0) 62 ns/iter (± 0) 0.94
es/visitor/base-perf/boxing_unboxed_clone 43 ns/iter (± 0) 44 ns/iter (± 0) 0.98
es/visitor/base-perf/boxing_boxed 107 ns/iter (± 0) 109 ns/iter (± 0) 0.98
es/visitor/base-perf/boxing_unboxed 81 ns/iter (± 0) 82 ns/iter (± 0) 0.99
es/visitor/base-perf/visit_contains_this 3413 ns/iter (± 44) 3526 ns/iter (± 64) 0.97
es/base/parallel/resolver/typescript 6990210510 ns/iter (± 408536394) 7031201283 ns/iter (± 434464736) 0.99
es/base/parallel/hygiene/typescript 2353095860 ns/iter (± 13918904) 2341099419 ns/iter (± 24921406) 1.01
misc/visitors/time-complexity/time 5 105 ns/iter (± 0) 106 ns/iter (± 0) 0.99
misc/visitors/time-complexity/time 10 342 ns/iter (± 6) 346 ns/iter (± 5) 0.99
misc/visitors/time-complexity/time 15 669 ns/iter (± 3) 672 ns/iter (± 0) 1.00
misc/visitors/time-complexity/time 20 1249 ns/iter (± 6) 1262 ns/iter (± 25) 0.99
misc/visitors/time-complexity/time 40 6671 ns/iter (± 46) 6854 ns/iter (± 33) 0.97
misc/visitors/time-complexity/time 60 17240 ns/iter (± 173) 17509 ns/iter (± 48) 0.98
es/full-target/es2016 268546 ns/iter (± 2838) 270177 ns/iter (± 668) 0.99
es/full-target/es2017 254192 ns/iter (± 1181) 260399 ns/iter (± 468) 0.98
es/full-target/es2018 242678 ns/iter (± 1558) 249178 ns/iter (± 627) 0.97
es2020_nullish_coalescing 97023 ns/iter (± 937) 99689 ns/iter (± 431) 0.97
es2020_optional_chaining 86805 ns/iter (± 556) 121999 ns/iter (± 385) 0.71
es2022_class_properties 153368 ns/iter (± 1361) 157001 ns/iter (± 358) 0.98
es2018_object_rest_spread 98158 ns/iter (± 811) 101007 ns/iter (± 204) 0.97
es2019_optional_catch_binding 87304 ns/iter (± 499) 89319 ns/iter (± 318) 0.98
es2017_async_to_generator 88025 ns/iter (± 521) 90271 ns/iter (± 117) 0.98
es2016_exponentiation 94539 ns/iter (± 942) 96726 ns/iter (± 235) 0.98
es2015_arrow 97524 ns/iter (± 637) 99438 ns/iter (± 260) 0.98
es2015_block_scoped_fn 95313 ns/iter (± 893) 97592 ns/iter (± 261) 0.98
es2015_block_scoping 181519 ns/iter (± 1332) 184758 ns/iter (± 224) 0.98

This comment was automatically generated by workflow using github-action-benchmark.

Please sign in to comment.