| // run-rustfix |
| #![deny(clippy::internal)] |
| #![allow(clippy::missing_clippy_version_attribute, clippy::let_unit_value)] |
| #![feature(rustc_private)] |
| |
| extern crate rustc_span; |
| |
| use rustc_span::symbol::Symbol; |
| |
| macro_rules! sym { |
| ($tt:tt) => { |
| rustc_span::symbol::Symbol::intern(stringify!($tt)) |
| }; |
| } |
| |
| fn main() { |
| // Direct use of Symbol::intern |
| let _ = rustc_span::sym::f32; |
| |
| // Using a sym macro |
| let _ = rustc_span::sym::f32; |
| |
| // Correct suggestion when symbol isn't stringified constant name |
| let _ = rustc_span::sym::proc_dash_macro; |
| |
| // interning a keyword |
| let _ = rustc_span::symbol::kw::SelfLower; |
| |
| // Interning a symbol that is not defined |
| let _ = Symbol::intern("xyz123"); |
| let _ = sym!(xyz123); |
| |
| // Using a different `intern` function |
| let _ = intern("f32"); |
| } |
| |
| fn intern(_: &str) {} |