]> git.lizzy.rs Git - rust.git/blob - tests/ui-internal/interning_defined_symbol.rs
Use relative deps path
[rust.git] / 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) {}