)]}'
{
  "commit": "376f4303673770bb8095dc3bd0d97089b56dc303",
  "tree": "564f4cf7bfc4ec1ca796167c378859c883271413",
  "parents": [
    "c6881304fb3efc2a4f32e8cb58fc014869a9fdab",
    "865fb57cfbf3ba3a3960564976c7fddbc2d92f04"
  ],
  "author": {
    "name": "Jacob Pratt",
    "email": "jacob@jhpratt.dev",
    "time": "Wed Jul 08 22:45:50 2026 -0400"
  },
  "committer": {
    "name": "GitHub",
    "email": "noreply@github.com",
    "time": "Wed Jul 08 22:45:50 2026 -0400"
  },
  "message": "Rollup merge of #158870 - valentynkit:posix-io-error-single-file, r\u003djoboet\n\nstd: merge the unix-like io::error modules into one file\n\n`library/std/src/sys/io/error/` had a separate `decode_error_kind` (errno -\u003e `io::ErrorKind`) for each POSIX-like target: `unix.rs`, `wasi.rs`, and `teeos.rs`. The three were near-identical hand copies and had drifted apart, each in its own way (rust-lang/rust#158490).\n\nPer the discussion there, this folds `wasi.rs` and `teeos.rs` into `unix.rs`. `decode_error_kind` and `is_interrupted` are now shared; `errno`, `set_errno`, and `error_string` stay per-target behind `cfg`, next to the target-specific cases the file already had. A new mapping is written once and applies to all three.\n\nThe shared table is unix\u0027s existing one, so the merge also picks up the arms wasi and teeos were missing:\n\n- wasi now maps `ENOTEMPTY` -\u003e `DirectoryNotEmpty` (was `Uncategorized`).\n- teeos now maps `EINPROGRESS` -\u003e `InProgress`, `EMFILE`/`ENFILE` -\u003e `TooManyOpenFiles`, and `EOPNOTSUPP` -\u003e `Unsupported` (were `Uncategorized`).\n\nAll of those errnos are defined on the respective targets in libc, so the arms compile everywhere the file does. wasi\u0027s `EWOULDBLOCK` arm becomes the `x \u003d\u003d EAGAIN || x \u003d\u003d EWOULDBLOCK` guard the other two already use; that is a no-op on wasi, where `EWOULDBLOCK \u003d\u003d EAGAIN`.\n\nNo test: with one shared `decode_error_kind` the copies can\u0027t drift again, and the decode arms are not tested today. (Let me know if it worth covering with tests)\n\nAddresses rust-lang/rust#158490\n\nr? @joboet\n",
  "tree_diff": []
}
