3 #![allow(unused_unsafe)]
6 fn good(_one: u32, _two: u32, _three: &str, _four: bool, _five: f32, _six: f32, _seven: bool) {}
8 fn bad(_one: u32, _two: u32, _three: &str, _four: bool, _five: f32, _six: f32, _seven: bool, _eight: ()) {}
10 // don't lint extern fns
11 extern "C" fn extern_fn(
24 fn good(_one: u32, _two: u32, _three: &str, _four: bool, _five: f32, _six: f32, _seven: bool);
25 fn bad(_one: u32, _two: u32, _three: &str, _four: bool, _five: f32, _six: f32, _seven: bool, _eight: ());
33 fn good_method(_one: u32, _two: u32, _three: &str, _four: bool, _five: f32, _six: f32, _seven: bool) {}
34 fn bad_method(_one: u32, _two: u32, _three: &str, _four: bool, _five: f32, _six: f32, _seven: bool, _eight: ()) {}
37 // ok, we don’t want to warn implementations
39 fn good(_one: u32, _two: u32, _three: &str, _four: bool, _five: f32, _six: f32, _seven: bool) {}
40 fn bad(_one: u32, _two: u32, _three: &str, _four: bool, _five: f32, _six: f32, _seven: bool, _eight: ()) {}
42 fn ptr(p: *const u8) {
43 println!("{}", unsafe { *p });
44 println!("{:?}", unsafe { p.as_ref() });
45 unsafe { std::ptr::read(p) };
49 // NOT_UNSAFE_PTR_ARG_DEREF
51 fn private(p: *const u8) {
52 println!("{}", unsafe { *p });
55 pub fn public(p: *const u8) {
56 println!("{}", unsafe { *p });
57 println!("{:?}", unsafe { p.as_ref() });
58 unsafe { std::ptr::read(p) };
62 fn private(self, p: *const u8) {
63 println!("{}", unsafe { *p });
66 pub fn public(self, p: *const u8) {
67 println!("{}", unsafe { *p });
68 println!("{:?}", unsafe { p.as_ref() });
69 unsafe { std::ptr::read(p) };
72 pub fn public_ok(self, p: *const u8) {
78 pub unsafe fn public_unsafe(self, p: *const u8) {
79 println!("{}", unsafe { *p });
80 println!("{:?}", unsafe { p.as_ref() });