rust/tests/ui/cstring.rs
Michael Wright 59893bcab0 Fix temporary_cstring_as_ptr false negative
Fixes #4375.

Changes the check to test when `.unwrap().as_ptr()` is called on any
`Result<CString, _>` as suggested by @flip1995
(https://github.com/rust-lang/rust-clippy/issues/4375#issuecomment-520724123).
2019-08-21 07:35:04 +02:00

25 lines
460 B
Rust

#![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()) }
}
}