Skip to content
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

[Merged by Bors] - Implement Object.prototype.toLocaleString() #1875

Closed
wants to merge 2 commits into from

Conversation

HalidOdat
Copy link
Member

It changes the following:

  • Implement Object.prototype.toLocaleString()

@HalidOdat HalidOdat added enhancement New feature or request builtins PRs and Issues related to builtins/intrinsics labels Feb 27, 2022
@HalidOdat HalidOdat added this to the v0.14.0 milestone Feb 27, 2022
@github-actions
Copy link

github-actions bot commented Feb 27, 2022

Test262 conformance changes

VM implementation

Test result main count PR count difference
Total 88,342 88,342 0
Passed 42,939 43,007 +68
Ignored 21,413 21,413 0
Failed 23,990 23,922 -68
Panics 0 0 0
Conformance 48.61% 48.68% +0.08%
Fixed tests (78):
test/language/expressions/property-accessors/S11.2.1_A4_T9.js [strict mode] (previously Failed)
test/language/expressions/property-accessors/S11.2.1_A4_T9.js (previously Failed)
test/built-ins/Array/prototype/toLocaleString/name.js [strict mode] (previously Failed)
test/built-ins/Array/prototype/toLocaleString/name.js (previously Failed)
test/built-ins/Array/prototype/toLocaleString/length.js [strict mode] (previously Failed)
test/built-ins/Array/prototype/toLocaleString/length.js (previously Failed)
test/built-ins/Object/S15.2.1.1_A1_T2.js [strict mode] (previously Failed)
test/built-ins/Object/S15.2.1.1_A1_T2.js (previously Failed)
test/built-ins/Object/S15.2.1.1_A1_T5.js [strict mode] (previously Failed)
test/built-ins/Object/S15.2.1.1_A1_T5.js (previously Failed)
test/built-ins/Object/S15.2.1.1_A1_T3.js [strict mode] (previously Failed)
test/built-ins/Object/S15.2.1.1_A1_T3.js (previously Failed)
test/built-ins/Object/S15.2.1.1_A1_T1.js [strict mode] (previously Failed)
test/built-ins/Object/S15.2.1.1_A1_T1.js (previously Failed)
test/built-ins/Object/S15.2.1.1_A1_T4.js [strict mode] (previously Failed)
test/built-ins/Object/S15.2.1.1_A1_T4.js (previously Failed)
test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-33.js [strict mode] (previously Failed)
test/built-ins/Object/getOwnPropertyDescriptor/15.2.3.3-4-33.js (previously Failed)
test/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A9.js [strict mode] (previously Failed)
test/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A9.js (previously Failed)
test/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A8.js [strict mode] (previously Failed)
test/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A8.js (previously Failed)
test/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A11.js [strict mode] (previously Failed)
test/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A11.js (previously Failed)
test/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A1.js [strict mode] (previously Failed)
test/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A1.js (previously Failed)
test/built-ins/Object/prototype/toLocaleString/primitive_this_value.js [strict mode] (previously Failed)
test/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A10.js [strict mode] (previously Failed)
test/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A10.js (previously Failed)
test/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A6.js [strict mode] (previously Failed)
test/built-ins/Object/prototype/toLocaleString/S15.2.4.3_A6.js (previously Failed)
test/built-ins/Object/prototype/toLocaleString/name.js [strict mode] (previously Failed)
test/built-ins/Object/prototype/toLocaleString/name.js (previously Failed)
test/built-ins/Object/prototype/toLocaleString/primitive_this_value_getter.js [strict mode] (previously Failed)
test/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A2_T1.js [strict mode] (previously Failed)
test/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A2_T1.js (previously Failed)
test/built-ins/Date/prototype/toLocaleString/name.js [strict mode] (previously Failed)
test/built-ins/Date/prototype/toLocaleString/name.js (previously Failed)
test/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T2.js [strict mode] (previously Failed)
test/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T2.js (previously Failed)
test/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T1.js [strict mode] (previously Failed)
test/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T1.js (previously Failed)
test/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T3.js [strict mode] (previously Failed)
test/built-ins/Date/prototype/toLocaleString/S15.9.5.5_A3_T3.js (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/get-length-uses-internal-arraylength.js [strict mode] (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/get-length-uses-internal-arraylength.js (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/invoked-as-method.js [strict mode] (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/invoked-as-method.js (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/name.js [strict mode] (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/name.js (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/empty-instance-returns-empty-string.js [strict mode] (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/empty-instance-returns-empty-string.js (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/length.js [strict mode] (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/length.js (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/return-result.js [strict mode] (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/return-result.js (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/BigInt/get-length-uses-internal-arraylength.js [strict mode] (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/BigInt/get-length-uses-internal-arraylength.js (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/BigInt/empty-instance-returns-empty-string.js [strict mode] (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/BigInt/empty-instance-returns-empty-string.js (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/BigInt/return-result.js [strict mode] (previously Failed)
test/built-ins/TypedArray/prototype/toLocaleString/BigInt/return-result.js (previously Failed)
test/intl402/Array/prototype/toLocaleString/calls-toLocaleString-number-elements.js [strict mode] (previously Failed)
test/intl402/Array/prototype/toLocaleString/calls-toLocaleString-number-elements.js (previously Failed)
test/intl402/BigInt/prototype/toLocaleString/name.js [strict mode] (previously Failed)
test/intl402/BigInt/prototype/toLocaleString/name.js (previously Failed)
test/intl402/BigInt/prototype/toLocaleString/length.js [strict mode] (previously Failed)
test/intl402/BigInt/prototype/toLocaleString/length.js (previously Failed)
test/intl402/BigInt/prototype/toLocaleString/builtin.js [strict mode] (previously Failed)
test/intl402/BigInt/prototype/toLocaleString/builtin.js (previously Failed)
test/intl402/BigInt/prototype/toLocaleString/taint-Intl-NumberFormat.js [strict mode] (previously Failed)
test/intl402/BigInt/prototype/toLocaleString/taint-Intl-NumberFormat.js (previously Failed)
test/intl402/Date/prototype/toLocaleString/length.js [strict mode] (previously Failed)
test/intl402/Date/prototype/toLocaleString/length.js (previously Failed)
test/intl402/Date/prototype/toLocaleString/builtin.js [strict mode] (previously Failed)
test/intl402/Date/prototype/toLocaleString/builtin.js (previously Failed)
test/intl402/TypedArray/prototype/toLocaleString/calls-toLocaleString-number-elements.js [strict mode] (previously Failed)
test/intl402/TypedArray/prototype/toLocaleString/calls-toLocaleString-number-elements.js (previously Failed)
Broken tests (10):
test/built-ins/TypedArray/prototype/toLocaleString/this-is-not-typedarray-instance.js [strict mode] (previously Passed)
test/built-ins/TypedArray/prototype/toLocaleString/this-is-not-typedarray-instance.js (previously Passed)
test/built-ins/TypedArray/prototype/toLocaleString/this-is-not-object.js [strict mode] (previously Passed)
test/built-ins/TypedArray/prototype/toLocaleString/this-is-not-object.js (previously Passed)
test/intl402/BigInt/prototype/toLocaleString/throws-same-exceptions-as-NumberFormat.js [strict mode] (previously Passed)
test/intl402/BigInt/prototype/toLocaleString/throws-same-exceptions-as-NumberFormat.js (previously Passed)
test/intl402/Date/prototype/this-value-non-date.js [strict mode] (previously Passed)
test/intl402/Date/prototype/this-value-non-date.js (previously Passed)
test/intl402/Date/prototype/throws-same-exceptions-as-DateTimeFormat.js [strict mode] (previously Passed)
test/intl402/Date/prototype/throws-same-exceptions-as-DateTimeFormat.js (previously Passed)

@codecov
Copy link

codecov bot commented Feb 27, 2022

Codecov Report

Merging #1875 (3df0059) into main (ec78e18) will decrease coverage by 0.00%.
The diff coverage is 66.66%.

Impacted file tree graph

@@            Coverage Diff             @@
##             main    #1875      +/-   ##
==========================================
- Coverage   46.69%   46.68%   -0.01%     
==========================================
  Files         204      204              
  Lines       16719    16721       +2     
==========================================
  Hits         7807     7807              
- Misses       8912     8914       +2     
Impacted Files Coverage Δ
boa_engine/src/builtins/object/mod.rs 67.13% <66.66%> (-0.64%) ⬇️
boa_engine/src/value/equality.rs 87.50% <0.00%> (-2.50%) ⬇️
boa_engine/src/value/conversions.rs 25.00% <0.00%> (-2.28%) ⬇️
boa_engine/src/value/serde_json.rs 81.81% <0.00%> (-2.28%) ⬇️
boa_engine/src/object/property_map.rs 21.25% <0.00%> (-0.79%) ⬇️
boa_engine/src/value/mod.rs 50.52% <0.00%> (-0.71%) ⬇️
boa_engine/src/object/jsobject.rs 50.31% <0.00%> (ø)
boa_engine/src/builtins/array/mod.rs 80.34% <0.00%> (+0.06%) ⬆️
boa_engine/src/builtins/array_buffer/mod.rs 8.26% <0.00%> (+0.26%) ⬆️
... and 2 more

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update ec78e18...3df0059. Read the comment docs.

@github-actions
Copy link

Benchmark for c25a0fa

Click to view benchmark
Test Base PR %
Arithmetic operations (Compiler) 505.6±1.91ns 507.9±1.90ns +0.45%
Arithmetic operations (Execution) 2.0±0.00µs 1980.6±2.07ns -0.97%
Arithmetic operations (Parser) 4.6±0.00µs 5.2±0.01µs +13.04%
Array access (Compiler) 1269.5±2.72ns 1279.6±2.63ns +0.80%
Array access (Execution) 9.8±0.05µs 9.9±0.04µs +1.02%
Array access (Parser) 10.1±0.01µs 11.5±0.03µs +13.86%
Array creation (Compiler) 1825.8±3.17ns 1828.4±6.77ns +0.14%
Array creation (Execution) 3.1±0.00ms 3.1±0.01ms 0.00%
Array creation (Parser) 12.9±0.02µs 13.0±0.02µs +0.78%
Array pop (Compiler) 3.9±0.01µs 3.9±0.01µs 0.00%
Array pop (Execution) 1352.0±3.41µs 1362.2±3.74µs +0.75%
Array pop (Parser) 113.7±0.12µs 129.0±0.52µs +13.46%
Boolean Object Access (Compiler) 971.9±1.23ns 1100.2±3.91ns +13.20%
Boolean Object Access (Execution) 5.7±0.01µs 5.8±0.02µs +1.75%
Boolean Object Access (Parser) 14.0±0.01µs 14.3±0.03µs +2.14%
Clean js (Compiler) 3.4±0.01µs 3.4±0.01µs 0.00%
Clean js (Execution) 1104.4±5.95µs 1097.8±8.50µs -0.60%
Clean js (Parser) 24.7±0.04µs 28.2±0.03µs +14.17%
Create Realm 274.0±2.04ns 277.1±0.95ns +1.13%
Dynamic Object Property Access (Compiler) 1617.3±4.66ns 1599.1±2.02ns -1.13%
Dynamic Object Property Access (Execution) 6.8±0.04µs 6.8±0.03µs 0.00%
Dynamic Object Property Access (Parser) 9.0±0.01µs 10.4±0.02µs +15.56%
Fibonacci (Compiler) 1987.6±2.35ns 2.3±0.00µs +15.72%
Fibonacci (Execution) 1775.5±3.31µs 1779.0±2.21µs +0.20%
Fibonacci (Parser) 13.8±0.02µs 15.7±0.03µs +13.77%
For loop (Compiler) 1702.7±3.64ns 1945.9±3.92ns +14.28%
For loop (Execution) 42.7±0.10µs 42.8±0.10µs +0.23%
For loop (Parser) 11.7±0.03µs 13.4±0.07µs +14.53%
Mini js (Compiler) 3.2±0.01µs 3.3±0.01µs +3.12%
Mini js (Execution) 1012.6±5.80µs 1005.9±5.94µs -0.66%
Mini js (Parser) 21.5±0.04µs 24.4±0.04µs +13.49%
Number Object Access (Compiler) 912.1±1.79ns 1032.2±3.75ns +13.17%
Number Object Access (Execution) 4.5±0.02µs 4.0±0.02µs -11.11%
Number Object Access (Parser) 10.8±0.01µs 10.9±0.02µs +0.93%
Object Creation (Compiler) 1400.0±5.60ns 1382.0±5.67ns -1.29%
Object Creation (Execution) 6.1±0.02µs 6.1±0.02µs 0.00%
Object Creation (Parser) 7.8±0.02µs 9.0±0.02µs +15.38%
RegExp (Compiler) 1619.9±8.68ns 1613.0±3.70ns -0.43%
RegExp (Execution) 12.2±0.07µs 10.9±0.05µs -10.66%
RegExp (Parser) 8.7±0.01µs 9.8±0.01µs +12.64%
RegExp Creation (Compiler) 1369.3±4.92ns 1398.8±5.45ns +2.15%
RegExp Creation (Execution) 9.0±0.03µs 8.0±0.03µs -11.11%
RegExp Creation (Parser) 8.1±0.01µs 8.2±0.01µs +1.23%
RegExp Literal (Compiler) 1610.9±2.83ns 1624.4±6.18ns +0.84%
RegExp Literal (Execution) 12.3±0.08µs 10.8±0.04µs -12.20%
RegExp Literal (Parser) 7.9±0.01µs 7.9±0.02µs 0.00%
RegExp Literal Creation (Compiler) 1406.7±6.27ns 1392.8±5.42ns -0.99%
RegExp Literal Creation (Execution) 9.0±0.03µs 9.1±0.03µs +1.11%
RegExp Literal Creation (Parser) 5.5±0.02µs 6.2±0.01µs +12.73%
Static Object Property Access (Compiler) 1418.7±5.82ns 1408.0±5.69ns -0.75%
Static Object Property Access (Execution) 6.3±0.02µs 6.3±0.02µs 0.00%
Static Object Property Access (Parser) 8.4±0.02µs 9.7±0.02µs +15.48%
String Object Access (Compiler) 1302.0±9.79ns 1459.4±5.09ns +12.09%
String Object Access (Execution) 7.6±0.04µs 7.5±0.02µs -1.32%
String Object Access (Parser) 13.6±0.01µs 13.8±0.01µs +1.47%
String comparison (Compiler) 2.1±0.01µs 2.1±0.01µs 0.00%
String comparison (Execution) 5.2±0.02µs 5.1±0.02µs -1.92%
String comparison (Parser) 9.4±0.01µs 10.8±0.02µs +14.89%
String concatenation (Compiler) 1647.1±9.92ns 1610.2±0.86ns -2.24%
String concatenation (Execution) 4.7±0.01µs 5.2±0.01µs +10.64%
String concatenation (Parser) 6.5±0.01µs 7.3±0.01µs +12.31%
String copy (Compiler) 1306.6±2.22ns 1297.9±2.08ns -0.67%
String copy (Execution) 4.7±0.02µs 4.2±0.01µs -10.64%
String copy (Parser) 5.5±0.01µs 5.5±0.01µs 0.00%
Symbols (Compiler) 814.8±0.91ns 920.8±2.11ns +13.01%
Symbols (Execution) 4.5±0.01µs 4.5±0.02µs 0.00%
Symbols (Parser) 3.7±0.01µs 4.2±0.01µs +13.51%

Copy link
Member

@Razican Razican left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think the mere is a typo when setting the method

boa_engine/src/builtins/object/mod.rs Outdated Show resolved Hide resolved
@github-actions
Copy link

Benchmark for 639d361

Click to view benchmark
Test Base PR %
Arithmetic operations (Compiler) 561.4±22.34ns 609.6±15.85ns +8.59%
Arithmetic operations (Execution) 2.2±0.13µs 2.4±0.02µs +9.09%
Arithmetic operations (Parser) 5.7±0.08µs 5.0±0.24µs -12.28%
Array access (Compiler) 1379.9±61.07ns 1419.7±59.20ns +2.88%
Array access (Execution) 11.3±0.32µs 11.4±0.14µs +0.88%
Array access (Parser) 12.3±0.39µs 11.8±0.58µs -4.07%
Array creation (Compiler) 2.0±0.07µs 2.1±0.05µs +5.00%
Array creation (Execution) 3.5±0.16ms 3.7±0.04ms +5.71%
Array creation (Parser) 13.7±0.44µs 13.9±0.49µs +1.46%
Array pop (Compiler) 4.3±0.18µs 4.5±0.12µs +4.65%
Array pop (Execution) 1456.8±62.84µs 1596.8±44.50µs +9.61%
Array pop (Parser) 147.6±1.64µs 146.0±3.90µs -1.08%
Boolean Object Access (Compiler) 1056.8±55.80ns 1171.8±6.61ns +10.88%
Boolean Object Access (Execution) 6.2±0.33µs 6.3±0.33µs +1.61%
Boolean Object Access (Parser) 14.4±0.69µs 13.9±0.87µs -3.47%
Clean js (Compiler) 3.7±0.18µs 3.7±0.12µs 0.00%
Clean js (Execution) 1198.6±61.61µs 1243.4±60.75µs +3.74%
Clean js (Parser) 30.2±0.66µs 27.8±1.63µs -7.95%
Create Realm 293.7±16.90ns 286.0±16.18ns -2.62%
Dynamic Object Property Access (Compiler) 1763.5±91.19ns 1799.0±106.85ns +2.01%
Dynamic Object Property Access (Execution) 7.9±0.26µs 7.7±0.26µs -2.53%
Dynamic Object Property Access (Parser) 9.8±0.54µs 10.0±0.52µs +2.04%
Fibonacci (Compiler) 2.6±0.10µs 2.3±0.12µs -11.54%
Fibonacci (Execution) 1947.8±80.94µs 2.1±0.05ms +7.81%
Fibonacci (Parser) 15.9±1.06µs 16.4±0.60µs +3.14%
For loop (Compiler) 2.1±0.12µs 2.2±0.12µs +4.76%
For loop (Execution) 49.0±2.87µs 49.5±1.28µs +1.02%
For loop (Parser) 13.4±0.72µs 14.1±0.72µs +5.22%
Mini js (Compiler) 3.5±0.15µs 3.6±0.13µs +2.86%
Mini js (Execution) 1199.1±23.13µs 1127.2±70.59µs -6.00%
Mini js (Parser) 26.1±0.61µs 25.9±1.30µs -0.77%
Number Object Access (Compiler) 1041.1±49.10ns 1120.6±4.54ns +7.64%
Number Object Access (Execution) 5.1±0.18µs 5.1±0.24µs 0.00%
Number Object Access (Parser) 11.0±0.54µs 11.4±0.46µs +3.64%
Object Creation (Compiler) 1511.0±69.55ns 1502.2±76.40ns -0.58%
Object Creation (Execution) 6.8±0.32µs 7.2±0.07µs +5.88%
Object Creation (Parser) 9.1±0.56µs 9.1±0.38µs 0.00%
RegExp (Compiler) 1924.4±35.22ns 1790.3±91.00ns -6.97%
RegExp (Execution) 14.1±0.41µs 14.1±0.33µs 0.00%
RegExp (Parser) 10.2±0.38µs 10.4±0.24µs +1.96%
RegExp Creation (Compiler) 1605.4±51.77ns 1536.6±90.40ns -4.29%
RegExp Creation (Execution) 10.7±0.29µs 10.1±0.47µs -5.61%
RegExp Creation (Parser) 8.5±0.46µs 8.1±0.45µs -4.71%
RegExp Literal (Compiler) 1804.2±64.36ns 1897.8±95.54ns +5.19%
RegExp Literal (Execution) 14.3±0.34µs 13.6±0.56µs -4.90%
RegExp Literal (Parser) 7.9±0.38µs 8.2±0.34µs +3.80%
RegExp Literal Creation (Compiler) 1540.9±64.41ns 1505.0±72.03ns -2.33%
RegExp Literal Creation (Execution) 10.9±0.29µs 10.0±0.39µs -8.26%
RegExp Literal Creation (Parser) 6.2±0.37µs 6.8±0.03µs +9.68%
Static Object Property Access (Compiler) 1580.4±72.14ns 1600.8±61.50ns +1.29%
Static Object Property Access (Execution) 7.2±0.40µs 7.2±0.26µs 0.00%
Static Object Property Access (Parser) 9.8±0.58µs 9.5±0.53µs -3.06%
String Object Access (Compiler) 1494.6±72.03ns 1629.7±7.09ns +9.04%
String Object Access (Execution) 8.5±0.40µs 8.5±0.55µs 0.00%
String Object Access (Parser) 14.9±0.31µs 14.0±0.73µs -6.04%
String comparison (Compiler) 2.3±0.11µs 2.5±0.05µs +8.70%
String comparison (Execution) 6.6±0.28µs 6.5±0.34µs -1.52%
String comparison (Parser) 11.7±0.31µs 11.2±0.52µs -4.27%
String concatenation (Compiler) 1702.9±75.07ns 1867.0±51.87ns +9.64%
String concatenation (Execution) 5.8±0.29µs 6.0±0.19µs +3.45%
String concatenation (Parser) 8.1±0.14µs 7.3±0.42µs -9.88%
String copy (Compiler) 1415.9±75.71ns 1577.4±3.48ns +11.41%
String copy (Execution) 5.6±0.16µs 5.0±0.27µs -10.71%
String copy (Parser) 5.8±0.25µs 5.6±0.24µs -3.45%
Symbols (Compiler) 1081.0±3.63ns 1003.3±57.24ns -7.19%
Symbols (Execution) 5.0±0.28µs 5.0±0.20µs 0.00%
Symbols (Parser) 4.1±0.21µs 3.9±0.20µs -4.88%

@HalidOdat
Copy link
Member Author

bors r+

@bors
Copy link

bors bot commented Feb 28, 2022

👎 Rejected by code reviews

@Razican
Copy link
Member

Razican commented Feb 28, 2022

bors r+

bors bot pushed a commit that referenced this pull request Feb 28, 2022
It changes the following:
- Implement `Object.prototype.toLocaleString()`
@bors
Copy link

bors bot commented Feb 28, 2022

Pull request successfully merged into main.

Build succeeded:

@bors bors bot changed the title Implement Object.prototype.toLocaleString() [Merged by Bors] - Implement Object.prototype.toLocaleString() Feb 28, 2022
@bors bors bot closed this Feb 28, 2022
@bors bors bot deleted the feature/Object.prototype.toLocaleString branch February 28, 2022 21:22
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
builtins PRs and Issues related to builtins/intrinsics enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants