//@ 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;
}
