---
source: crates/rome_formatter_test/src/snapshot_builder.rs
info:
  test_file: js/babel-plugins/decimal.js
---

# Input

```js
// https://github.com/babel/babel/pull/11640

100m;
9223372036854775807m;
0.m;
3.1415926535897932m;
100.000m;
.1m;
({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
1.m;
100m;
9223372036854775807m;
100.m;

// Invalid decimal
2e9m;
016432m;
089m;

// https://github.com/tc39/proposal-decimal
.1m + .2m === .3m;
2.00m;
-0m;
typeof 1m === "bigdecimal";
typeof 1m === "decimal128";


```


# Prettier differences

```diff
--- Prettier
+++ Rome
@@ -1,25 +1,38 @@
 // https://github.com/babel/babel/pull/11640
 
-100m;
-9223372036854775807m;
-0m;
-3.1415926535897932m;
-100.0m;
-0.1m;
-({ 0m: 0, 0.1m() {}, get 0.2m() {}, set 3m(_) {}, async 4m() {}, *0.5m() {} });
-1m;
-100m;
-9223372036854775807m;
-100m;
+100m
+9223372036854775807m
+0.m
+3.1415926535897932m
+100.000m
+.1m
+({ 0m: 0, .1m() {}, get
+0.2m()
+{
+}
+, set 3m(_)
+{
+}
+, async 4m()
+{
+}
+, *.5m()
+{
+}
+})
+1.m
+100m
+9223372036854775807m
+100.m
 
 // Invalid decimal
-2e9m;
-016432m;
-089m;
+2e9m
+016432m
+089m
 
 // https://github.com/tc39/proposal-decimal
-0.1m + 0.2m === 0.3m;
-2.0m;
+.1m + .2m === .3m
+2.00m
 -0m;
 typeof 1m === "bigdecimal";
 typeof 1m === "decimal128";
```

# Output

```js
// https://github.com/babel/babel/pull/11640

100m
9223372036854775807m
0.m
3.1415926535897932m
100.000m
.1m
({ 0m: 0, .1m() {}, get
0.2m()
{
}
, set 3m(_)
{
}
, async 4m()
{
}
, *.5m()
{
}
})
1.m
100m
9223372036854775807m
100.m

// Invalid decimal
2e9m
016432m
089m

// https://github.com/tc39/proposal-decimal
.1m + .2m === .3m
2.00m
-0m;
typeof 1m === "bigdecimal";
typeof 1m === "decimal128";
```

# Errors
```
decimal.js:3:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '100m'
  
    1 │ // https://github.com/babel/babel/pull/11640
    2 │ 
  > 3 │ 100m;
      │ ^^^^
    4 │ 9223372036854775807m;
    5 │ 0.m;
  
  i Expected a statement here
  
    1 │ // https://github.com/babel/babel/pull/11640
    2 │ 
  > 3 │ 100m;
      │ ^^^^
    4 │ 9223372036854775807m;
    5 │ 0.m;
  
decimal.js:3:4 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    1 │ // https://github.com/babel/babel/pull/11640
    2 │ 
  > 3 │ 100m;
      │    ^
    4 │ 9223372036854775807m;
    5 │ 0.m;
  
  i an identifier cannot appear here
  
decimal.js:4:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '9223372036854775807m'
  
    3 │ 100m;
  > 4 │ 9223372036854775807m;
      │ ^^^^^^^^^^^^^^^^^^^^
    5 │ 0.m;
    6 │ 3.1415926535897932m;
  
  i Expected a statement here
  
    3 │ 100m;
  > 4 │ 9223372036854775807m;
      │ ^^^^^^^^^^^^^^^^^^^^
    5 │ 0.m;
    6 │ 3.1415926535897932m;
  
decimal.js:4:20 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    3 │ 100m;
  > 4 │ 9223372036854775807m;
      │                    ^
    5 │ 0.m;
    6 │ 3.1415926535897932m;
  
  i an identifier cannot appear here
  
decimal.js:5:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '0.m'
  
    3 │ 100m;
    4 │ 9223372036854775807m;
  > 5 │ 0.m;
      │ ^^^
    6 │ 3.1415926535897932m;
    7 │ 100.000m;
  
  i Expected a statement here
  
    3 │ 100m;
    4 │ 9223372036854775807m;
  > 5 │ 0.m;
      │ ^^^
    6 │ 3.1415926535897932m;
    7 │ 100.000m;
  
decimal.js:5:3 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    3 │ 100m;
    4 │ 9223372036854775807m;
  > 5 │ 0.m;
      │   ^
    6 │ 3.1415926535897932m;
    7 │ 100.000m;
  
  i an identifier cannot appear here
  
decimal.js:6:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '3.1415926535897932m'
  
    4 │ 9223372036854775807m;
    5 │ 0.m;
  > 6 │ 3.1415926535897932m;
      │ ^^^^^^^^^^^^^^^^^^^
    7 │ 100.000m;
    8 │ .1m;
  
  i Expected a statement here
  
    4 │ 9223372036854775807m;
    5 │ 0.m;
  > 6 │ 3.1415926535897932m;
      │ ^^^^^^^^^^^^^^^^^^^
    7 │ 100.000m;
    8 │ .1m;
  
decimal.js:6:19 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    4 │ 9223372036854775807m;
    5 │ 0.m;
  > 6 │ 3.1415926535897932m;
      │                   ^
    7 │ 100.000m;
    8 │ .1m;
  
  i an identifier cannot appear here
  
decimal.js:7:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '100.000m'
  
    5 │ 0.m;
    6 │ 3.1415926535897932m;
  > 7 │ 100.000m;
      │ ^^^^^^^^
    8 │ .1m;
    9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
  
  i Expected a statement here
  
    5 │ 0.m;
    6 │ 3.1415926535897932m;
  > 7 │ 100.000m;
      │ ^^^^^^^^
    8 │ .1m;
    9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
  
decimal.js:7:8 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    5 │ 0.m;
    6 │ 3.1415926535897932m;
  > 7 │ 100.000m;
      │        ^
    8 │ .1m;
    9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
  
  i an identifier cannot appear here
  
decimal.js:8:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '.1m'
  
     6 │ 3.1415926535897932m;
     7 │ 100.000m;
   > 8 │ .1m;
       │ ^^^
     9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
    10 │ 1.m;
  
  i Expected a statement here
  
     6 │ 3.1415926535897932m;
     7 │ 100.000m;
   > 8 │ .1m;
       │ ^^^
     9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
    10 │ 1.m;
  
decimal.js:8:3 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
     6 │ 3.1415926535897932m;
     7 │ 100.000m;
   > 8 │ .1m;
       │   ^
     9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
    10 │ 1.m;
  
  i an identifier cannot appear here
  
decimal.js:9:4 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a property, a shorthand property, a getter, a setter, or a method but instead found '0m'
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │    ^^
    10 │ 1.m;
    11 │ 100m;
  
  i Expected a property, a shorthand property, a getter, a setter, or a method here
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │    ^^
    10 │ 1.m;
    11 │ 100m;
  
decimal.js:9:5 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │     ^
    10 │ 1.m;
    11 │ 100m;
  
  i an identifier cannot appear here
  
decimal.js:9:11 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a property, a shorthand property, a getter, a setter, or a method but instead found '.1m() {'
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │           ^^^^^^^
    10 │ 1.m;
    11 │ 100m;
  
  i Expected a property, a shorthand property, a getter, a setter, or a method here
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │           ^^^^^^^
    10 │ 1.m;
    11 │ 100m;
  
decimal.js:9:13 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │             ^
    10 │ 1.m;
    11 │ 100m;
  
  i an identifier cannot appear here
  
decimal.js:9:25 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected `)` but instead found `0.2m`
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │                         ^^^^
    10 │ 1.m;
    11 │ 100m;
  
  i Remove 0.2m
  
decimal.js:9:28 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │                            ^
    10 │ 1.m;
    11 │ 100m;
  
  i an identifier cannot appear here
  
decimal.js:9:33 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found ', set 3m(_)'
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │                                 ^^^^^^^^^^^
    10 │ 1.m;
    11 │ 100m;
  
  i Expected a statement here
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │                                 ^^^^^^^^^^^
    10 │ 1.m;
    11 │ 100m;
  
decimal.js:9:40 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │                                        ^
    10 │ 1.m;
    11 │ 100m;
  
  i an identifier cannot appear here
  
decimal.js:9:46 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found ', async 4m()'
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │                                              ^^^^^^^^^^^^
    10 │ 1.m;
    11 │ 100m;
  
  i Expected a statement here
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │                                              ^^^^^^^^^^^^
    10 │ 1.m;
    11 │ 100m;
  
decimal.js:9:55 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │                                                       ^
    10 │ 1.m;
    11 │ 100m;
  
  i an identifier cannot appear here
  
decimal.js:9:61 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found ', *.5m()'
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │                                                             ^^^^^^^^
    10 │ 1.m;
    11 │ 100m;
  
  i Expected a statement here
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │                                                             ^^^^^^^^
    10 │ 1.m;
    11 │ 100m;
  
decimal.js:9:66 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │                                                                  ^
    10 │ 1.m;
    11 │ 100m;
  
  i an identifier cannot appear here
  
decimal.js:9:73 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '})'
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │                                                                         ^^
    10 │ 1.m;
    11 │ 100m;
  
  i Expected a statement here
  
     7 │ 100.000m;
     8 │ .1m;
   > 9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
       │                                                                         ^^
    10 │ 1.m;
    11 │ 100m;
  
decimal.js:10:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '1.m'
  
     8 │ .1m;
     9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
  > 10 │ 1.m;
       │ ^^^
    11 │ 100m;
    12 │ 9223372036854775807m;
  
  i Expected a statement here
  
     8 │ .1m;
     9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
  > 10 │ 1.m;
       │ ^^^
    11 │ 100m;
    12 │ 9223372036854775807m;
  
decimal.js:10:3 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
     8 │ .1m;
     9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
  > 10 │ 1.m;
       │   ^
    11 │ 100m;
    12 │ 9223372036854775807m;
  
  i an identifier cannot appear here
  
decimal.js:11:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '100m'
  
     9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
    10 │ 1.m;
  > 11 │ 100m;
       │ ^^^^
    12 │ 9223372036854775807m;
    13 │ 100.m;
  
  i Expected a statement here
  
     9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
    10 │ 1.m;
  > 11 │ 100m;
       │ ^^^^
    12 │ 9223372036854775807m;
    13 │ 100.m;
  
decimal.js:11:4 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
     9 │ ({ 0m: 0, .1m() {}, get 0.2m(){}, set 3m(_){}, async 4m() {}, *.5m() {} });
    10 │ 1.m;
  > 11 │ 100m;
       │    ^
    12 │ 9223372036854775807m;
    13 │ 100.m;
  
  i an identifier cannot appear here
  
decimal.js:12:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '9223372036854775807m'
  
    10 │ 1.m;
    11 │ 100m;
  > 12 │ 9223372036854775807m;
       │ ^^^^^^^^^^^^^^^^^^^^
    13 │ 100.m;
    14 │ 
  
  i Expected a statement here
  
    10 │ 1.m;
    11 │ 100m;
  > 12 │ 9223372036854775807m;
       │ ^^^^^^^^^^^^^^^^^^^^
    13 │ 100.m;
    14 │ 
  
decimal.js:12:20 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    10 │ 1.m;
    11 │ 100m;
  > 12 │ 9223372036854775807m;
       │                    ^
    13 │ 100.m;
    14 │ 
  
  i an identifier cannot appear here
  
decimal.js:13:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '100.m'
  
    11 │ 100m;
    12 │ 9223372036854775807m;
  > 13 │ 100.m;
       │ ^^^^^
    14 │ 
    15 │ // Invalid decimal
  
  i Expected a statement here
  
    11 │ 100m;
    12 │ 9223372036854775807m;
  > 13 │ 100.m;
       │ ^^^^^
    14 │ 
    15 │ // Invalid decimal
  
decimal.js:13:5 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    11 │ 100m;
    12 │ 9223372036854775807m;
  > 13 │ 100.m;
       │     ^
    14 │ 
    15 │ // Invalid decimal
  
  i an identifier cannot appear here
  
decimal.js:16:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '2e9m'
  
    15 │ // Invalid decimal
  > 16 │ 2e9m;
       │ ^^^^
    17 │ 016432m;
    18 │ 089m;
  
  i Expected a statement here
  
    15 │ // Invalid decimal
  > 16 │ 2e9m;
       │ ^^^^
    17 │ 016432m;
    18 │ 089m;
  
decimal.js:16:4 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    15 │ // Invalid decimal
  > 16 │ 2e9m;
       │    ^
    17 │ 016432m;
    18 │ 089m;
  
  i an identifier cannot appear here
  
decimal.js:17:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '016432m'
  
    15 │ // Invalid decimal
    16 │ 2e9m;
  > 17 │ 016432m;
       │ ^^^^^^^
    18 │ 089m;
    19 │ 
  
  i Expected a statement here
  
    15 │ // Invalid decimal
    16 │ 2e9m;
  > 17 │ 016432m;
       │ ^^^^^^^
    18 │ 089m;
    19 │ 
  
decimal.js:17:7 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    15 │ // Invalid decimal
    16 │ 2e9m;
  > 17 │ 016432m;
       │       ^
    18 │ 089m;
    19 │ 
  
  i an identifier cannot appear here
  
decimal.js:18:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '089m'
  
    16 │ 2e9m;
    17 │ 016432m;
  > 18 │ 089m;
       │ ^^^^
    19 │ 
    20 │ // https://github.com/tc39/proposal-decimal
  
  i Expected a statement here
  
    16 │ 2e9m;
    17 │ 016432m;
  > 18 │ 089m;
       │ ^^^^
    19 │ 
    20 │ // https://github.com/tc39/proposal-decimal
  
decimal.js:18:4 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    16 │ 2e9m;
    17 │ 016432m;
  > 18 │ 089m;
       │    ^
    19 │ 
    20 │ // https://github.com/tc39/proposal-decimal
  
  i an identifier cannot appear here
  
decimal.js:21:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '.1m + .2m === .3m'
  
    20 │ // https://github.com/tc39/proposal-decimal
  > 21 │ .1m + .2m === .3m;
       │ ^^^^^^^^^^^^^^^^^
    22 │ 2.00m;
    23 │ -0m;
  
  i Expected a statement here
  
    20 │ // https://github.com/tc39/proposal-decimal
  > 21 │ .1m + .2m === .3m;
       │ ^^^^^^^^^^^^^^^^^
    22 │ 2.00m;
    23 │ -0m;
  
decimal.js:21:3 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    20 │ // https://github.com/tc39/proposal-decimal
  > 21 │ .1m + .2m === .3m;
       │   ^
    22 │ 2.00m;
    23 │ -0m;
  
  i an identifier cannot appear here
  
decimal.js:21:9 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    20 │ // https://github.com/tc39/proposal-decimal
  > 21 │ .1m + .2m === .3m;
       │         ^
    22 │ 2.00m;
    23 │ -0m;
  
  i an identifier cannot appear here
  
decimal.js:21:17 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    20 │ // https://github.com/tc39/proposal-decimal
  > 21 │ .1m + .2m === .3m;
       │                 ^
    22 │ 2.00m;
    23 │ -0m;
  
  i an identifier cannot appear here
  
decimal.js:22:1 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × expected a statement but instead found '2.00m'
  
    20 │ // https://github.com/tc39/proposal-decimal
    21 │ .1m + .2m === .3m;
  > 22 │ 2.00m;
       │ ^^^^^
    23 │ -0m;
    24 │ typeof 1m === "bigdecimal";
  
  i Expected a statement here
  
    20 │ // https://github.com/tc39/proposal-decimal
    21 │ .1m + .2m === .3m;
  > 22 │ 2.00m;
       │ ^^^^^
    23 │ -0m;
    24 │ typeof 1m === "bigdecimal";
  
decimal.js:22:5 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    20 │ // https://github.com/tc39/proposal-decimal
    21 │ .1m + .2m === .3m;
  > 22 │ 2.00m;
       │     ^
    23 │ -0m;
    24 │ typeof 1m === "bigdecimal";
  
  i an identifier cannot appear here
  
decimal.js:23:3 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    21 │ .1m + .2m === .3m;
    22 │ 2.00m;
  > 23 │ -0m;
       │   ^
    24 │ typeof 1m === "bigdecimal";
    25 │ typeof 1m === "decimal128";
  
  i an identifier cannot appear here
  
decimal.js:24:9 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    22 │ 2.00m;
    23 │ -0m;
  > 24 │ typeof 1m === "bigdecimal";
       │         ^
    25 │ typeof 1m === "decimal128";
    26 │ 
  
  i an identifier cannot appear here
  
decimal.js:25:9 parse ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

  × numbers cannot be followed by identifiers directly after
  
    23 │ -0m;
    24 │ typeof 1m === "bigdecimal";
  > 25 │ typeof 1m === "decimal128";
       │         ^
    26 │ 
  
  i an identifier cannot appear here
  

```