rust/tests/ui/lint/unused/lint-unused-imports-self-single.fixed
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

30 lines
724 B
Rust

//@ run-rustfix
#![deny(unused_imports)]
#![allow(unreachable_code)]
use std::collections::{self as coll};
//~^ ERROR unused import: `HashMap`
//~^ ERROR unused import: `self as std_io`
use std::sync::Mutex;
//~^ ERROR unused import: `self as std_sync`
use std::sync::mpsc::Sender;
//~^ ERROR unused import: `self as std_sync_mpsc`
use std::collections::hash_map::{self as std_coll_hm};
//~^ ERROR unused import: `Keys`
use std::borrow::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!();
}