blob: e46bd6a349cfc42e05fccd407b27f1636624459a [file] [log] [blame] [edit]
//@ run-rustfix
#![deny(function_casts_as_integer)]
#![allow(unused_variables, dead_code)] // For the rustfix-ed code.
fn foo() {}
enum MyEnum {
Variant(u32),
}
struct MyStruct(u32);
fn main() {
let x = foo as *const () as usize; //~ ERROR: function_casts_as_integer
let x = String::len as *const () as usize; //~ ERROR: function_casts_as_integer
let x = MyEnum::Variant as *const () as usize; //~ ERROR: function_casts_as_integer
let x = MyStruct as *const () as usize; //~ ERROR: function_casts_as_integer
// Ok.
let x = foo as fn() as usize;
let x = foo as *const () as usize;
}