)]}'
{
  "commit": "8317fef20409adedaa7c385fa6e954867bf626fc",
  "tree": "c90362e9d45ef1a74297a4de22e74fa229713cbd",
  "parents": [
    "25a54d4ba87873ef02ef0e5fce49baa57198deb3",
    "eb00f7806ebd1c0378234b1c5958c1c8fea5e898"
  ],
  "author": {
    "name": "bors",
    "email": "bors@rust-lang.org",
    "time": "Fri Apr 10 11:30:02 2026 +0000"
  },
  "committer": {
    "name": "bors",
    "email": "bors@rust-lang.org",
    "time": "Fri Apr 10 11:30:02 2026 +0000"
  },
  "message": "Auto merge of #152996 - mu001999-contrib:feat/extend-import-self, r\u003dpetrochenkov\n\nReplacing `self` overwriting with proper resolution\n\nReference PR:\r\n\r\n- https://github.com/rust-lang/reference/pull/2221\r\n\r\n\r\n\r\nAs a follow-up PR to https://github.com/rust-lang/rust/pull/146972 ([step 1](https://github.com/rust-lang/rust/pull/152996#issuecomment-4011548479)), after this PR:\r\n~~1. Trailing `self` can appear in paths (as the consensus in https://github.com/rust-lang/rust/pull/146972#issuecomment-3719825627)~~ (in future)\r\n~~2. [E0429](https://doc.rust-lang.org/stable/error_codes/E0429.html#error-code-e0429) will be no longer emitted, `use ...::self [as target];` will be equivalent to `use ...::{self [as target]};`~~ (in future)\r\n3. Things like `struct S {}; use S::{self as Other};` will be rejected\r\n\r\n---\r\n\r\nThis PR used to add a new lint `redundant_self`, which would lint `use ...::self [as target];` and `use ...::{self [as target]};`, and fixes all warnings emitted by this lint.\r\n\r\nBut this lint and clippy lint [unnecessary_self_imports](https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_self_imports) have some overlap. And `use std::io::self;` is not equivalent to `use std::io` in fact for now, the new lint will also cause the following known issue:\r\n\u003e Removing `::{self}` will cause any non-module items at the same path to also be imported. This might cause a naming conflict (https://github.com/rust-lang/rustfmt/issues/3568).\r\n\r\nSo I removed this lint, and I think what it does should be done by extending the clippy lint `unnecessary_self_imports`.\r\n\r\nr? petrochenkov",
  "tree_diff": []
}
