mirror of
https://github.com/rust-lang/rust-clippy
synced 2024-11-22 20:53:21 +00:00
25 lines
751 B
Rust
25 lines
751 B
Rust
|
#![feature(rustc_private)]
|
||
|
#![warn(clippy::slow_symbol_comparisons)]
|
||
|
|
||
|
extern crate rustc_span;
|
||
|
|
||
|
use clippy_utils::sym;
|
||
|
use rustc_span::Symbol;
|
||
|
|
||
|
fn main() {
|
||
|
let symbol = sym!(example);
|
||
|
let other_symbol = sym!(other_example);
|
||
|
|
||
|
// Should lint
|
||
|
let slow_comparison = symbol.as_str() == "example";
|
||
|
//~^ error: comparing `Symbol` via `Symbol::intern`
|
||
|
let slow_comparison_macro = symbol.as_str() == "example";
|
||
|
//~^ error: comparing `Symbol` via `Symbol::intern`
|
||
|
let slow_comparison_backwards = symbol.as_str() == "example";
|
||
|
//~^ error: comparing `Symbol` via `Symbol::intern`
|
||
|
|
||
|
// Should not lint
|
||
|
let faster_comparison = symbol.as_str() == "other_example";
|
||
|
let preinterned_comparison = symbol == other_symbol;
|
||
|
}
|