Skip to content

Commit

Permalink
Add exteranal macros for as_conversions
Browse files Browse the repository at this point in the history
  • Loading branch information
chansuke committed Nov 10, 2020
1 parent dd826b4 commit faa3e23
Show file tree
Hide file tree
Showing 3 changed files with 30 additions and 4 deletions.
14 changes: 13 additions & 1 deletion tests/ui/as_conversions.rs
@@ -1,7 +1,19 @@
#[warn(clippy::as_conversions)]
// aux-build:macro_rules.rs

#![warn(clippy::as_conversions)]

#[macro_use]
extern crate macro_rules;

fn with_external_macro() {
as_conv_with_arg!(0u32 as u64);
as_conv!();
}

fn main() {
let i = 0u32 as u64;

let j = &i as *const u64 as *mut u64;

with_external_macro();
}
6 changes: 3 additions & 3 deletions tests/ui/as_conversions.stderr
@@ -1,5 +1,5 @@
error: using a potentially dangerous silent `as` conversion
--> $DIR/as_conversions.rs:4:13
--> $DIR/as_conversions.rs:14:13
|
LL | let i = 0u32 as u64;
| ^^^^^^^^^^^
Expand All @@ -8,15 +8,15 @@ LL | let i = 0u32 as u64;
= help: consider using a safe wrapper for this conversion

error: using a potentially dangerous silent `as` conversion
--> $DIR/as_conversions.rs:6:13
--> $DIR/as_conversions.rs:16:13
|
LL | let j = &i as *const u64 as *mut u64;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: consider using a safe wrapper for this conversion

error: using a potentially dangerous silent `as` conversion
--> $DIR/as_conversions.rs:6:13
--> $DIR/as_conversions.rs:16:13
|
LL | let j = &i as *const u64 as *mut u64;
| ^^^^^^^^^^^^^^^^
Expand Down
14 changes: 14 additions & 0 deletions tests/ui/auxiliary/macro_rules.rs
Expand Up @@ -70,3 +70,17 @@ macro_rules! ref_arg_function {
fn fun_example(ref _x: usize) {}
};
}

#[macro_export]
macro_rules! as_conv_with_arg {
(0u32 as u64) => {
()
};
}

#[macro_export]
macro_rules! as_conv {
() => {
0u32 as u64
};
}

0 comments on commit faa3e23

Please sign in to comment.