3 //! Used to test that certain lints don't trigger in imported external macros
13 macro_rules
! must_use_unit
{
21 macro_rules
! try_err
{
23 pub fn try_err_fn() -> Result
<i32, i32> {
25 // To avoid warnings during rustfix
26 if true { Err(err)? }
else { Ok(2) }
32 macro_rules
! string_add
{
34 let y
= "".to_owned();
40 macro_rules
! take_external
{
42 std
::mem
::replace($s
, Default
::default())
47 macro_rules
! option_env_unwrap_external
{
49 option_env
!($env
).unwrap()
51 ($env
: expr
, $message
: expr
) => {
52 option_env
!($env
).expect($message
)
57 macro_rules
! ref_arg_binding
{
64 macro_rules
! ref_arg_function
{
66 fn fun_example(ref _x
: usize) {}
71 macro_rules
! as_conv_with_arg
{
78 macro_rules
! as_conv
{
85 macro_rules
! large_enum_variant
{
87 enum LargeEnumInMacro
{
95 macro_rules
! field_reassign_with_default
{
103 let mut a
: A
= Default
::default();
111 macro_rules
! default_numeric_fallback
{
118 macro_rules
! mut_mut
{
120 let mut_mut_ty
: &mut &mut u32 = &mut &mut 1u32;
125 macro_rules
! ptr_as_ptr_cast
{
132 macro_rules
! manual_rem_euclid
{
135 let _
: i32 = ((value
% 4) + 4) % 4;
140 macro_rules
! equatable_if_let
{
141 ($a
:ident
) => {{ if let 2 = $a {}
}};
145 macro_rules
! almost_complete_range
{
154 macro_rules
! unsafe_macro
{
157 *core
::ptr
::null
::<()>();
158 *core
::ptr
::null
::<()>();
164 macro_rules
! needless_lifetime
{
166 fn needless_lifetime
<'a
>(x
: &'a
u8) -> &'a
u8 {