]> git.proxmox.com Git - rustc.git/blob - src/tools/clippy/tests/ui-internal/interning_defined_symbol.rs
a58e182971d7323e63b595a9e501f0abb63a63f6
[rustc.git] / src / tools / clippy / tests / ui-internal / interning_defined_symbol.rs
1 // run-rustfix
2 #![deny(clippy::internal)]
3 #![feature(rustc_private)]
4
5 extern crate rustc_span;
6
7 use rustc_span::symbol::Symbol;
8
9 macro_rules! sym {
10 ($tt:tt) => {
11 rustc_span::symbol::Symbol::intern(stringify!($tt))
12 };
13 }
14
15 fn main() {
16 // Direct use of Symbol::intern
17 let _ = Symbol::intern("f32");
18
19 // Using a sym macro
20 let _ = sym!(f32);
21
22 // Correct suggestion when symbol isn't stringified constant name
23 let _ = Symbol::intern("proc-macro");
24
25 // interning a keyword
26 let _ = Symbol::intern("self");
27
28 // Interning a symbol that is not defined
29 let _ = Symbol::intern("xyz123");
30 let _ = sym!(xyz123);
31
32 // Using a different `intern` function
33 let _ = intern("f32");
34 }
35
36 fn intern(_: &str) {}