• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1 #![allow(dead_code)]
2 
3 //! Used to test that certain lints don't trigger in imported external macros
4 #[macro_export]
5 macro_rules! try_err {
6     () => {
7         pub fn try_err_fn() -> Result<i32, i32> {
8             let err: i32 = 1;
9             // To avoid warnings during rustfix
10             if true { Err(err)? } else { Ok(2) }
11         }
12     };
13 }
14 
15 #[macro_export]
16 macro_rules! string_add {
17     () => {
18         let y = "".to_owned();
19         let z = y + "...";
20     };
21 }
22 
23 #[macro_export]
24 macro_rules! string_lit_as_bytes {
25     ($s:literal) => {
26         const C: &[u8] = $s.as_bytes();
27     };
28 }
29 
30 #[macro_export]
31 macro_rules! mut_mut {
32     () => {
33         let mut_mut_ty: &mut &mut u32 = &mut &mut 1u32;
34     };
35 }
36 
37 #[macro_export]
38 macro_rules! issue_10421 {
39     () => {
40         let mut a = 1;
41         let mut b = 2;
42         a = b;
43         b = a;
44     };
45 }
46 
47 #[macro_export]
48 macro_rules! macro_with_panic {
49     () => {
50         panic!()
51     };
52 }
53