Repository: swc-project/swc (rust)

Issue:
[Bug]: arguments is not being remapping in arrow functions
### Describe the bug

Using `arguments` in arrow function, it turns out to not being remapping like `this`

```js
function add(a, b) {
    const d = () => {
        return arguments.length;
    }
    return d();
}
add(1,2); // output 2
```

compiled code:

```js
function add(a, b) {
    const d = function() {
        return arguments.length;
    }
    return d();
}

add(1,2); // output 0
```

It appears to happen when i configure "env" .


### Input code

_No response_

### Config

_No response_

### Playground link

https://play.swc.rs/?version=1.3.14&code=H4sIAAAAAAAAA0srzUsuyczPU0hMSdFI1FFI0lSo5lIAguT8vOIShRQFWwUNTQVbO6goCBSllpQWATUUpZfmpuaVFOvlpOall2RYgxXUciEpSdHQtOaqBQCbbnioYwAAAA%3D%3D&config=H4sIAAAAAAAAA1WOOw7CMAyGr4I8Z4CFoSMTC4eIUrcKSpzIdlGrKncnUSMqNuvz%2F9rhLQ6GHbJlQW6XbKR2hQHQRSuOfVYwVVbRZIOggWkhpz7Rw9MIg%2FKCxQCuikw2PDFkZDm4gZCS4M8ZPflpay3R0hzOh0sxM4p0UGpgTOPSFDvolrHtkTuUM6M7vby68ChE%2BjTPf69anlFrOni83K5QyhcGyx1n%2BQAAAA%3D%3D

### Expected behavior

Keywords like `arguments` and `this` should being remapping in arrow functions

### Actual behavior

_No response_

### Version

1.3.14

### Additional context

_No response_

Pull request:
fix(es): use `unresolved_mark` for preset-env
<!-- Note: CI script will automatically rebase your PR so please do not rebase unless required -->

<!-- Thanks for submitting a pull request! Please provide enough information so that others can review your pull request. -->

**Description:**

I'm still wondering why this is only reported after a few months. Maybe people aren't shipping to IE anymore.

**BREAKING CHANGE:**

<!--
If this PR introduces a breaking change, it must contain a notice for it to be included in the CHANGELOG. Add description or remove entirely if not breaking.

You may need to update `MIGRATION.md` for the breaking changes.
-->

**Related issue (if exists):**
closes #6371 

Patch:
diff --git a/crates/swc/src/builder.rs b/crates/swc/src/builder.rs
index 6c4ceb7336..d90e954ebb 100644
--- a/crates/swc/src/builder.rs
+++ b/crates/swc/src/builder.rs
@@ -202,7 +202,7 @@ impl<'a, 'b, P: swc_ecma_visit::Fold> PassBuilder<'a, 'b, P> {
         // compat
         let compat_pass = if let Some(env) = self.env {
             Either::Left(swc_ecma_preset_env::preset_env(
-                self.top_level_mark,
+                self.unresolved_mark,
                 comments,
                 env,
                 self.assumptions,


Test patch:
diff --git a/crates/swc/tests/fixture/issues-6xxx/6371/input/.swcrc b/crates/swc/tests/fixture/issues-6xxx/6371/input/.swcrc
new file mode 100644
index 0000000000..d4a5b76541
--- /dev/null
+++ b/crates/swc/tests/fixture/issues-6xxx/6371/input/.swcrc
@@ -0,0 +1,5 @@
+{
+    "env": {
+        "targets": "ie 10"
+    }
+}
\ No newline at end of file
diff --git a/crates/swc/tests/fixture/issues-6xxx/6371/input/input.js b/crates/swc/tests/fixture/issues-6xxx/6371/input/input.js
new file mode 100644
index 0000000000..4f32f8b848
--- /dev/null
+++ b/crates/swc/tests/fixture/issues-6xxx/6371/input/input.js
@@ -0,0 +1,6 @@
+function add(a, b) {
+    const d = () => {
+        return arguments.length;
+    }
+    return d();
+}
\ No newline at end of file
diff --git a/crates/swc/tests/fixture/issues-6xxx/6371/output/input.js b/crates/swc/tests/fixture/issues-6xxx/6371/output/input.js
new file mode 100644
index 0000000000..ee53d6123c
--- /dev/null
+++ b/crates/swc/tests/fixture/issues-6xxx/6371/output/input.js
@@ -0,0 +1,7 @@
+function add(a, b) {
+    var _arguments = arguments;
+    var d = function() {
+        return _arguments.length;
+    };
+    return d();
+}