about summary refs log tree commit diff
path: root/src/tools/clippy/tests/ui/cstring.rs
blob: 6cdd6b4ff6e77671afb525e01d9f5398ad536a0e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#![deny(clippy::temporary_cstring_as_ptr)]

fn main() {}

fn temporary_cstring() {
    use std::ffi::CString;

    CString::new("foo").unwrap().as_ptr();
    CString::new("foo").expect("dummy").as_ptr();
}

mod issue4375 {
    use std::ffi::CString;
    use std::os::raw::c_char;

    extern "C" {
        fn foo(data: *const c_char);
    }

    pub fn bar(v: &[u8]) {
        let cstr = CString::new(v);
        unsafe { foo(cstr.unwrap().as_ptr()) }
    }
}