BurntSushi/quickcheck
View on GitHubTrivial cast error when using `#[quickcheck]` inside macro
Open
#261 opened on Nov 27, 2020
enhancementhelp wanted
Repository metrics
- Stars
- (2,763 stars)
- PR merge metrics
- (No merged PRs in 30d)
Description
This is a minimal example:
crate::my_macro!(u32);
#[macro_export]
macro_rules! my_macro {
($my_type:ty) => {
#[quickcheck]
fn fuzz_my_type(my: $my_type) {
// ...
}
}
}
Results in
error: trivial cast: `fn(u32) {fuzz_my_type::fuzz_my_type}` as `fn(u32)`
--> ~/fuzz_tests.rs:13:9
|
2 | crate::my_macro!(u32);
| ---------------------- in this macro invocation
...
13 | / #[quickcheck]
14 | | fn fuzz_my_type(my: $my_type) {
| |_______________________^
It works if I add #[allow(trivial_casts)], but it should work without flags to the compiler.