error: unnecessary `Symbol` to string conversion
  --> tests/ui-internal/unnecessary_symbol_str.rs:16:5
   |
LL |     Symbol::intern("foo").as_str() == "clippy";
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Symbol::intern("foo") == rustc_span::sym::clippy`
   |
note: the lint level is defined here
  --> tests/ui-internal/unnecessary_symbol_str.rs:2:9
   |
LL | #![deny(clippy::internal)]
   |         ^^^^^^^^^^^^^^^^
   = note: `#[deny(clippy::unnecessary_symbol_str)]` implied by `#[deny(clippy::internal)]`

error: unnecessary `Symbol` to string conversion
  --> tests/ui-internal/unnecessary_symbol_str.rs:18:5
   |
LL |     Symbol::intern("foo").to_string() == "self";
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Symbol::intern("foo") == rustc_span::kw::SelfLower`

error: unnecessary `Symbol` to string conversion
  --> tests/ui-internal/unnecessary_symbol_str.rs:20:5
   |
LL |     Symbol::intern("foo").to_ident_string() != "Self";
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Symbol::intern("foo") != rustc_span::kw::SelfUpper`

error: unnecessary `Symbol` to string conversion
  --> tests/ui-internal/unnecessary_symbol_str.rs:22:5
   |
LL |     &*Ident::empty().as_str() == "clippy";
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `Ident::empty().name == rustc_span::sym::clippy`

error: unnecessary `Symbol` to string conversion
  --> tests/ui-internal/unnecessary_symbol_str.rs:24:5
   |
LL |     "clippy" == Ident::empty().to_string();
   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `rustc_span::sym::clippy == Ident::empty().name`

error: aborting due to 5 previous errors

