]> git.lizzy.rs Git - rust.git/blob - tests/ui/functions.rs
Remove all copyright license headers
[rust.git] / tests / ui / functions.rs
1 #![warn(clippy::all)]
2 #![allow(dead_code)]
3 #![allow(unused_unsafe)]
4
5 // TOO_MANY_ARGUMENTS
6 fn good(_one: u32, _two: u32, _three: &str, _four: bool, _five: f32, _six: f32, _seven: bool) {}
7
8 fn bad(_one: u32, _two: u32, _three: &str, _four: bool, _five: f32, _six: f32, _seven: bool, _eight: ()) {}
9
10 // don't lint extern fns
11 extern "C" fn extern_fn(
12     _one: u32,
13     _two: u32,
14     _three: &str,
15     _four: bool,
16     _five: f32,
17     _six: f32,
18     _seven: bool,
19     _eight: (),
20 ) {
21 }
22
23 pub trait Foo {
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: ());
26
27     fn ptr(p: *const u8);
28 }
29
30 pub struct Bar;
31
32 impl Bar {
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: ()) {}
35 }
36
37 // ok, we don’t want to warn implementations
38 impl Foo for Bar {
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: ()) {}
41
42     fn ptr(p: *const u8) {
43         println!("{}", unsafe { *p });
44         println!("{:?}", unsafe { p.as_ref() });
45         unsafe { std::ptr::read(p) };
46     }
47 }
48
49 // NOT_UNSAFE_PTR_ARG_DEREF
50
51 fn private(p: *const u8) {
52     println!("{}", unsafe { *p });
53 }
54
55 pub fn public(p: *const u8) {
56     println!("{}", unsafe { *p });
57     println!("{:?}", unsafe { p.as_ref() });
58     unsafe { std::ptr::read(p) };
59 }
60
61 impl Bar {
62     fn private(self, p: *const u8) {
63         println!("{}", unsafe { *p });
64     }
65
66     pub fn public(self, p: *const u8) {
67         println!("{}", unsafe { *p });
68         println!("{:?}", unsafe { p.as_ref() });
69         unsafe { std::ptr::read(p) };
70     }
71
72     pub fn public_ok(self, p: *const u8) {
73         if !p.is_null() {
74             println!("{:p}", p);
75         }
76     }
77
78     pub unsafe fn public_unsafe(self, p: *const u8) {
79         println!("{}", unsafe { *p });
80         println!("{:?}", unsafe { p.as_ref() });
81     }
82 }
83
84 fn main() {}