Files
rust/tests/ui/lint/unused/lint-unused-imports-self-single.rs
Samuel Tardieu 856a181570 Fix autofix for self and self as … in unused_imports lint
This fixes two problems with the autofixes for the `unused_imports`
lint:

- `use std::collections::{HashMap, self as coll};` would suggest, when
  `HashMap` is unused, the incorrect `use std::collections::self as coll;`
  which does not compile.

- `use std::borrow::{self, Cow};` would suggest, when `self` is unused,
  `use std::borrow::{Cow};`, which contains unnecessary brackets.
2025-03-24 13:01:47 +01:00

31 lines
827 B
Rust

//@ run-rustfix
#![deny(unused_imports)]
#![allow(unreachable_code)]
use std::collections::{HashMap, self as coll};
//~^ ERROR unused import: `HashMap`
use std::io::{self as std_io};
//~^ ERROR unused import: `self as std_io`
use std::sync::{Mutex, self as std_sync};
//~^ ERROR unused import: `self as std_sync`
use std::sync::{mpsc::{self as std_sync_mpsc, Sender}};
//~^ ERROR unused import: `self as std_sync_mpsc`
use std::collections::{hash_map::{self as std_coll_hm, Keys}};
//~^ ERROR unused import: `Keys`
use std::borrow::{self, Cow};
//~^ ERROR unused import: `self`
fn main() {
let _ = coll::BTreeSet::<String>::default();
let _ = Mutex::new(String::new());
let _: Cow<'static, str> = "foo".into();
let _: Sender<u32> = todo!();
let _: std_coll_hm::Entry<'static, u32, u32> = todo!();
}