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