# Status

Generated by `cargo xtask status` on 2026-10-04 against upstream pin `1f70213d4922b434345f639b441681e470c7cfc1`, from `status/parity`, `status/perf`, `PORTS.toml`, `data/go-functions.tsv` and the `port:` and `source:` markers; not committed. [Unmapped functions](unmapped-functions.json).

## Suite parity

Each expectation file names every failing sub-test of its suite; CI requires the observed failures to equal it. An approved entry still fails.

| Suite | Pin | Variants | Failing sub-tests | Approved |
|---|---|---:|---:|---:|
| compiler | ledger pin | 13432 | 13 | 0 |
| compiler-concurrent | ledger pin | 13432 | 13 | 0 |
| transpile | ledger pin | 28 | 0 | 0 |
| tsc | ledger pin | 516 | 2 | 2 |

### compiler

- `compiler/computedEnumTypeWidening.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `compiler/enumLiteralUnionNotWidened.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `compiler/enumNaNValues.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `compiler/numericEnumMappedType.ts/output`: declaration emit of `const x = E.ONE` writes `= E.ONE` where the pin writes `: E.ONE`; the same enum-literal cause as the .types entries. Fix in its own PR.
- `compiler/parseEntityNameWithReservedWord.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `compiler/strictModeEnumMemberNameReserved.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `conformance/enumLiteralTypes1.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `conformance/enumLiteralTypes2.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `conformance/enumLiteralTypes3.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `conformance/mappedTypeOverlappingStringEnumKeys.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `conformance/stringEnumLiteralTypes1.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `conformance/stringEnumLiteralTypes2.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `conformance/stringEnumLiteralTypes3.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.

### compiler-concurrent

- `compiler/computedEnumTypeWidening.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `compiler/enumLiteralUnionNotWidened.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `compiler/enumNaNValues.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `compiler/numericEnumMappedType.ts/output`: declaration emit of `const x = E.ONE` writes `= E.ONE` where the pin writes `: E.ONE`; the same enum-literal cause as the .types entries. Fix in its own PR.
- `compiler/parseEntityNameWithReservedWord.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `compiler/strictModeEnumMemberNameReserved.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `conformance/enumLiteralTypes1.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `conformance/enumLiteralTypes2.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `conformance/enumLiteralTypes3.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `conformance/mappedTypeOverlappingStringEnumKeys.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `conformance/stringEnumLiteralTypes1.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `conformance/stringEnumLiteralTypes2.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.
- `conformance/stringEnumLiteralTypes3.ts/type`: enum literal types: a mutable location keeps the member type (`a : E.A`) where the pin widens it to the enum (`a : E`), and an enum-literal union prints its members where the pin prints the alias; first seen on the first expectation-file run, after Phase 2 closed; candidate cause 6245f59b (Phase 3, enum evaluation). Fix in its own PR.

### transpile

No failing sub-tests.

### tsc

- `tsc/generateTrace/generateTrace-generates-types-file.js/transcript`: eager binding changes the parse/bind trace prefix: Rust binds each exclusive parsed file before publication during loading, Go binds published files later; only the createProgram/parse/bind trace events and their timestamps differ, the type dumps, legend, diagnostics and emitted bytes match **Approved:** owner 2026-10-02, Phase 4 decision 15 (docs/PHASE4-X6.md); carried from data/divergences.toml P4-eager-bind-trace-order
- `tsc/generateTrace/generateTrace-with-multiple-files-and-complex-types.js/transcript`: eager binding changes the parse/bind trace prefix: Rust binds each exclusive parsed file before publication during loading, Go binds published files later; only the createProgram/parse/bind trace events and their timestamps differ, the type dumps, legend, diagnostics and emitted bytes match **Approved:** owner 2026-10-02, Phase 4 decision 15 (docs/PHASE4-X6.md); carried from data/divergences.toml P4-eager-bind-trace-order

## Performance

Ratios are Rust over Go, one row per recorded run.

### checker

| Recorded | Revision | Host | allocated_bytes | elapsed | retained_bytes | throughput | type_footprint |
|---|---|---|---:|---:|---:|---:|---:|
| 2026-09-19T04:03:06Z | `b5aca216` | owner quiet host (macOS arm64, 18 CPUs) | 0.571 | 2.125 | 1.413 | 0.471 | 0.812 (threshold 0.85) |

### parse-bind

| Recorded | Revision | Host | allocated_bytes | eight_threads_wall_time | one_thread_wall_time | peak_rss | workers_1_allocated_bytes | workers_1_peak_rss_bytes | workers_1_wall_time_ns | workers_8_allocated_bytes | workers_8_peak_rss_bytes | workers_8_wall_time_ns |
|---|---|---|---:|---:|---:|---:|---:|---:|---:|---:|---:|---:|
| 2026-09-19T00:59:09Z | `b5aca216` | owner quiet host (macOS arm64, 18 CPUs) | 0.700 (threshold 0.85) | 1.399 (threshold 1.45) | 1.153 (threshold 1.25) | 0.700 (threshold 0.85) | 0.700 | 0.700 | 1.153 | 0.700 | 0.698 | 1.399 |

## Port coverage

Function counts measure mapping by `port:` markers, not semantic completeness. Ported tests are the distinct Go tests named by `source: <path>_test.go:<Name>` comments.

|  |  |
|---|---:|
| Files in scope (source and generated) | 456 |
| Files ported | 200 (147399 of 291215 lines, 50.6%) |
| Mapped upstream functions | 7679 of 11485 (66.9%) |
| Ported upstream tests | 196 |
| Ported entries stale against the pin | 0 |

### By phase

| Phase | Planned | Lines | In progress | Lines | Ported | Lines | Out of scope | Lines |
|---|---:|---:|---:|---:|---:|---:|---:|---:|
| 0 | 8 | 444 | 12 | 30957 | 16 | 6482 | 0 | 0 |
| 1 | 38 | 3773 | 60 | 20876 | 8 | 14479 | 6 | 684 |
| 2 | 0 | 0 | 0 | 0 | 44 | 67266 | 0 | 0 |
| 3 | 0 | 0 | 0 | 0 | 73 | 39625 | 0 | 0 |
| 4 | 4 | 224 | 0 | 0 | 58 | 19476 | 11 | 1555 |
| 5 | 83 | 44446 | 41 | 35930 | 1 | 71 | 0 | 0 |
| 6 | 9 | 6997 | 0 | 0 | 0 | 0 | 2 | 1027 |
| 7 | 1 | 169 | 0 | 0 | 0 | 0 | 0 | 0 |

### By crate

| Crate | Planned | Lines | In progress | Lines | Ported | Lines | Out of scope | Lines |
|---|---:|---:|---:|---:|---:|---:|---:|---:|
| `tsr` | 3 | 222 | 0 | 0 | 2 | 171 | 3 | 57 |
| `tsr_api` | 6 | 6669 | 0 | 0 | 0 | 0 | 1 | 1008 |
| `tsr_ast` | 7 | 430 | 8 | 19685 | 8 | 2090 | 0 | 0 |
| `tsr_astnav` | 0 | 0 | 1 | 793 | 0 | 0 | 0 | 0 |
| `tsr_autoimport` | 11 | 5400 | 0 | 0 | 0 | 0 | 0 | 0 |
| `tsr_binder` | 0 | 0 | 3 | 3570 | 0 | 0 | 0 | 0 |
| `tsr_build` | 0 | 0 | 0 | 0 | 6 | 2075 | 0 | 0 |
| `tsr_bundled` | 1 | 452 | 3 | 393 | 0 | 0 | 2 | 183 |
| `tsr_checker` | 0 | 0 | 0 | 0 | 25 | 60703 | 0 | 0 |
| `tsr_collections` | 4 | 394 | 3 | 446 | 0 | 0 | 0 | 0 |
| `tsr_compiler` | 2 | 234 | 0 | 0 | 12 | 6362 | 0 | 0 |
| `tsr_contentmapper` | 0 | 0 | 0 | 0 | 4 | 1977 | 0 | 0 |
| `tsr_core` | 18 | 1019 | 8 | 1737 | 2 | 72 | 0 | 0 |
| `tsr_declarations` | 0 | 0 | 0 | 0 | 5 | 4212 | 0 | 0 |
| `tsr_diagnostics` | 3 | 337 | 0 | 0 | 1 | 8854 | 2 | 467 |
| `tsr_diagnosticwriter` | 0 | 0 | 0 | 0 | 1 | 610 | 0 | 0 |
| `tsr_encoder` | 0 | 0 | 0 | 0 | 5 | 3232 | 0 | 0 |
| `tsr_execute` | 0 | 0 | 0 | 0 | 4 | 1573 | 0 | 0 |
| `tsr_format` | 0 | 0 | 10 | 4259 | 0 | 0 | 0 | 0 |
| `tsr_fswatch` | 0 | 0 | 0 | 0 | 13 | 4163 | 6 | 1369 |
| `tsr_glob` | 1 | 349 | 0 | 0 | 0 | 0 | 0 | 0 |
| `tsr_incremental` | 0 | 0 | 0 | 0 | 11 | 3535 | 0 | 0 |
| `tsr_ipc` | 3 | 328 | 0 | 0 | 5 | 625 | 1 | 19 |
| `tsr_jsnum` | 1 | 177 | 1 | 66 | 1 | 341 | 0 | 0 |
| `tsr_json` | 0 | 0 | 1 | 100 | 0 | 0 | 0 | 0 |
| `tsr_jsonrpc` | 0 | 0 | 0 | 0 | 2 | 287 | 0 | 0 |
| `tsr_locale` | 1 | 40 | 0 | 0 | 0 | 0 | 0 | 0 |
| `tsr_ls` | 46 | 34857 | 5 | 1208 | 1 | 71 | 0 | 0 |
| `tsr_lsp` | 5 | 1192 | 1 | 2542 | 0 | 0 | 0 | 0 |
| `tsr_lsproto` | 3 | 274 | 3 | 18051 | 0 | 0 | 0 | 0 |
| `tsr_module` | 1 | 134 | 4 | 2799 | 0 | 0 | 0 | 0 |
| `tsr_modulespecifiers` | 0 | 0 | 0 | 0 | 5 | 2287 | 0 | 0 |
| `tsr_nodebuilder` | 0 | 0 | 0 | 0 | 1 | 78 | 0 | 0 |
| `tsr_outputpaths` | 0 | 0 | 0 | 0 | 2 | 314 | 0 | 0 |
| `tsr_packagejson` | 0 | 0 | 6 | 684 | 0 | 0 | 0 | 0 |
| `tsr_parser` | 1 | 14 | 2 | 8209 | 3 | 879 | 0 | 0 |
| `tsr_pprof` | 1 | 169 | 0 | 0 | 0 | 0 | 0 | 0 |
| `tsr_printer` | 0 | 0 | 0 | 0 | 17 | 11749 | 0 | 0 |
| `tsr_project` | 17 | 2491 | 22 | 9870 | 0 | 0 | 0 | 0 |
| `tsr_pseudochecker` | 0 | 0 | 0 | 0 | 3 | 1126 | 0 | 0 |
| `tsr_scanner` | 0 | 0 | 2 | 3063 | 2 | 1267 | 0 | 0 |
| `tsr_semver` | 0 | 0 | 2 | 712 | 0 | 0 | 0 | 0 |
| `tsr_sourcemap` | 0 | 0 | 0 | 0 | 6 | 1021 | 0 | 0 |
| `tsr_stringutil` | 3 | 149 | 1 | 371 | 3 | 5044 | 0 | 0 |
| `tsr_testutil` | 0 | 0 | 0 | 0 | 0 | 0 | 1 | 7 |
| `tsr_tracing` | 0 | 0 | 0 | 0 | 1 | 763 | 0 | 0 |
| `tsr_transformers` | 0 | 0 | 0 | 0 | 36 | 20182 | 0 | 0 |
| `tsr_transpile` | 0 | 0 | 0 | 0 | 2 | 302 | 0 | 0 |
| `tsr_tsc` | 0 | 0 | 0 | 0 | 7 | 1331 | 0 | 0 |
| `tsr_tsoptions` | 2 | 456 | 16 | 6100 | 0 | 0 | 0 | 0 |
| `tsr_tspath` | 1 | 18 | 2 | 1477 | 0 | 0 | 0 | 0 |
| `tsr_vfs` | 2 | 248 | 9 | 1628 | 4 | 103 | 3 | 156 |

### By package

The unmapped functions of each package are listed in `unmapped-functions.json`, beside this page.

| Package | Functions | Mapped | Ported tests |
|---|---:|---:|---:|
| `cmd/tsc` | 25 | 19 (76.0%) | 1 |
| `internal/api` | 251 | 0 (0.0%) | 0 |
| `internal/api/encoder` | 67 | 67 (100.0%) | 0 |
| `internal/ast` | 839 | 728 (86.8%) | 0 |
| `internal/astnav` | 18 | 17 (94.4%) | 0 |
| `internal/binder` | 195 | 190 (97.4%) | 0 |
| `internal/bundled` | 28 | 7 (25.0%) | 0 |
| `internal/checker` | 2879 | 2119 (73.6%) | 0 |
| `internal/collections` | 84 | 81 (96.4%) | 0 |
| `internal/compiler` | 340 | 254 (74.7%) | 0 |
| `internal/contentmapper` | 78 | 78 (100.0%) | 0 |
| `internal/core` | 178 | 144 (80.9%) | 0 |
| `internal/debug` | 5 | 5 (100.0%) | 0 |
| `internal/diagnostics` | 14 | 7 (50.0%) | 0 |
| `internal/diagnosticwriter` | 40 | 25 (62.5%) | 0 |
| `internal/evaluator` | 5 | 5 (100.0%) | 0 |
| `internal/execute` | 32 | 20 (62.5%) | 0 |
| `internal/execute/build` | 87 | 47 (54.0%) | 2 |
| `internal/execute/incremental` | 175 | 175 (100.0%) | 9 |
| `internal/execute/tsc` | 49 | 46 (93.9%) | 4 |
| `internal/execute/tsctests` | 0 | — | 24 |
| `internal/execute/watchmanager` | 29 | 24 (82.8%) | 7 |
| `internal/format` | 235 | 206 (87.7%) | 0 |
| `internal/fswatch` | 198 | 72 (36.4%) | 123 |
| `internal/glob` | 15 | 9 (60.0%) | 0 |
| `internal/ipc` | 44 | 27 (61.4%) | 0 |
| `internal/jsnum` | 39 | 39 (100.0%) | 0 |
| `internal/json` | 12 | 8 (66.7%) | 0 |
| `internal/jsonrpc` | 20 | 20 (100.0%) | 0 |
| `internal/locale` | 5 | 5 (100.0%) | 0 |
| `internal/ls` | 1035 | 0 (0.0%) | 0 |
| `internal/ls/autoimport` | 180 | 0 (0.0%) | 0 |
| `internal/ls/change` | 68 | 0 (0.0%) | 0 |
| `internal/ls/lsconv` | 38 | 6 (15.8%) | 2 |
| `internal/ls/lsutil` | 91 | 17 (18.7%) | 0 |
| `internal/lsp` | 151 | 5 (3.3%) | 0 |
| `internal/lsp/lsproto` | 50 | 10 (20.0%) | 0 |
| `internal/lsp/lspwatcher` | 23 | 0 (0.0%) | 0 |
| `internal/module` | 105 | 47 (44.8%) | 0 |
| `internal/modulespecifiers` | 53 | 18 (34.0%) | 0 |
| `internal/nativepath` | 4 | 4 (100.0%) | 1 |
| `internal/osutil` | 4 | 2 (50.0%) | 0 |
| `internal/outputpaths` | 22 | 22 (100.0%) | 0 |
| `internal/packagejson` | 38 | 17 (44.7%) | 0 |
| `internal/parser` | 514 | 508 (98.8%) | 0 |
| `internal/pprof` | 7 | 0 (0.0%) | 0 |
| `internal/printer` | 768 | 760 (99.0%) | 0 |
| `internal/project` | 429 | 107 (24.9%) | 20 |
| `internal/project/ata` | 25 | 0 (0.0%) | 0 |
| `internal/project/background` | 4 | 4 (100.0%) | 1 |
| `internal/project/dirty` | 61 | 0 (0.0%) | 0 |
| `internal/project/logging` | 34 | 13 (38.2%) | 0 |
| `internal/pseudochecker` | 72 | 70 (97.2%) | 0 |
| `internal/scanner` | 158 | 157 (99.4%) | 0 |
| `internal/semver` | 25 | 0 (0.0%) | 0 |
| `internal/sourcemap` | 50 | 50 (100.0%) | 0 |
| `internal/spanmap` | 34 | 34 (100.0%) | 0 |
| `internal/stringutil` | 48 | 46 (95.8%) | 0 |
| `internal/symlinks` | 12 | 12 (100.0%) | 0 |
| `internal/tracing` | 20 | 20 (100.0%) | 2 |
| `internal/transformers` | 59 | 59 (100.0%) | 0 |
| `internal/transformers/declarations` | 180 | 180 (100.0%) | 0 |
| `internal/transformers/estransforms` | 407 | 407 (100.0%) | 0 |
| `internal/transformers/inliners` | 3 | 3 (100.0%) | 0 |
| `internal/transformers/jsxtransforms` | 48 | 48 (100.0%) | 0 |
| `internal/transformers/moduletransforms` | 124 | 124 (100.0%) | 0 |
| `internal/transformers/tstransforms` | 141 | 140 (99.3%) | 0 |
| `internal/transpile` | 8 | 8 (100.0%) | 0 |
| `internal/tsoptions` | 196 | 142 (72.4%) | 0 |
| `internal/tspath` | 88 | 87 (98.9%) | 0 |
| `internal/vfs/cachedvfs` | 16 | 16 (100.0%) | 0 |
| `internal/vfs/internal` | 12 | 12 (100.0%) | 0 |
| `internal/vfs/iovfs` | 15 | 15 (100.0%) | 0 |
| `internal/vfs/osvfs` | 23 | 23 (100.0%) | 0 |
| `internal/vfs/trackingvfs` | 12 | 12 (100.0%) | 0 |
| `internal/vfs/vfsmatch` | 31 | 17 (54.8%) | 0 |
| `internal/vfs/wrapvfs` | 13 | 13 (100.0%) | 0 |

## Unknown markers

None.
