d89500843c
- Move super-fast-paren-parsing test into ui/parser - Move stmt_expr_attrs test into ui/feature-gates - Move macro tests into ui/macros - Move global_asm tests into ui/asm - Move env tests into ui/process - Move xcrate tests into ui/cross-crate - Move unop tests into ui/unop - Move backtrace tests into ui/backtrace - Move check-static tests into ui/statics - Move expr tests into ui/expr - Move optimization fuel tests into ui/fuel - Move ffi attribute tests into ui/ffi-attrs - Move suggestion tests into ui/suggestions - Move main tests into ui/fn-main - Move lint tests into ui/lint - Move repr tests into ui/repr - Move intrinsics tests into ui/intrinsics - Move tool lint tests into ui/tool-attributes - Move return tests into ui/return - Move pattern tests into ui/patttern - Move range tests into ui/range - Move foreign-fn tests into ui/foreign - Move orphan-check tests into ui/coherence - Move inference tests into ui/inference - Reduce ROOT_ENTRY_LIMIT
32 lines
865 B
Rust
32 lines
865 B
Rust
//@ run-rustfix
|
|
|
|
// Suggest providing a std::ptr::null{,_mut}() to a function that takes in a raw
|
|
// pointer if a literal 0 was provided by the user.
|
|
|
|
extern "C" {
|
|
fn foo(ptr: *const u8);
|
|
|
|
fn foo_mut(ptr: *mut u8);
|
|
|
|
fn usize(ptr: *const usize);
|
|
|
|
fn usize_mut(ptr: *mut usize);
|
|
}
|
|
|
|
fn main() {
|
|
unsafe {
|
|
foo(0);
|
|
//~^ mismatched types [E0308]
|
|
//~| if you meant to create a null pointer, use `std::ptr::null()`
|
|
foo_mut(0);
|
|
//~^ mismatched types [E0308]
|
|
//~| if you meant to create a null pointer, use `std::ptr::null_mut()`
|
|
usize(0);
|
|
//~^ mismatched types [E0308]
|
|
//~| if you meant to create a null pointer, use `std::ptr::null()`
|
|
usize_mut(0);
|
|
//~^ mismatched types [E0308]
|
|
//~| if you meant to create a null pointer, use `std::ptr::null_mut()`
|
|
}
|
|
}
|