blob: bfafa8c5f27f9b10b8d8baaf249834c2779a761c [file] [log] [blame]
//@ 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<String, String> = HashMap::default();
//~^ ERROR prefer `FxHashMap` over `HashMap`, it has better performance
//~^^ ERROR prefer `FxHashMap` over `HashMap`, it has better performance
let _set: HashSet<String> = 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<String, String> = FxHashMap::default();
let _fx_set: FxHashSet<String> = FxHashSet::default();
// test another struct of the same name
let _ = foo::HashMap;
}