// compile-flags: -Z unstable-options #![feature(rustc_private)] #![deny(rustc::default_hash_types)] extern crate rustc_data_structures; use rustc_data_structures::fx::{FxHashMap, FxHashSet}; use std::collections::{HashMap, HashSet}; mod foo { pub struct HashMap; } fn main() { let _map: HashMap = HashMap::default(); //~^ ERROR prefer `FxHashMap` over `HashMap`, it has better performance //~^^ ERROR prefer `FxHashMap` over `HashMap`, it has better performance let _set: HashSet = HashSet::default(); //~^ ERROR prefer `FxHashSet` over `HashSet`, it has better performance //~^^ ERROR prefer `FxHashSet` over `HashSet`, it has better performance // test that the lint doesn't also match the Fx variants themselves let _fx_map: FxHashMap = FxHashMap::default(); let _fx_set: FxHashSet = FxHashSet::default(); // test another struct of the same name let _ = foo::HashMap; }