1 // check-pass 2 ret_i32_no_unsafe() -> i323const unsafe fn ret_i32_no_unsafe() -> i32 { 42 } ret_null_ptr_no_unsafe<T>() -> *const T4const unsafe fn ret_null_ptr_no_unsafe<T>() -> *const T { std::ptr::null() } ret_null_mut_ptr_no_unsafe<T>() -> *mut T5const unsafe fn ret_null_mut_ptr_no_unsafe<T>() -> *mut T { std::ptr::null_mut() } no_unsafe()6const fn no_unsafe() { unsafe {} } 7 call_unsafe_const_fn() -> i328const fn call_unsafe_const_fn() -> i32 { 9 unsafe { ret_i32_no_unsafe() } 10 } call_unsafe_generic_const_fn() -> *const String11const fn call_unsafe_generic_const_fn() -> *const String { 12 unsafe { ret_null_ptr_no_unsafe::<String>() } 13 } call_unsafe_generic_cell_const_fn() -> *const Vec<std::cell::Cell<u32>>14const fn call_unsafe_generic_cell_const_fn() 15 -> *const Vec<std::cell::Cell<u32>> 16 { 17 unsafe { ret_null_mut_ptr_no_unsafe::<Vec<std::cell::Cell<u32>>>() } 18 } 19 call_unsafe_const_unsafe_fn() -> i3220const unsafe fn call_unsafe_const_unsafe_fn() -> i32 { 21 unsafe { ret_i32_no_unsafe() } 22 } call_unsafe_generic_const_unsafe_fn() -> *const String23const unsafe fn call_unsafe_generic_const_unsafe_fn() -> *const String { 24 unsafe { ret_null_ptr_no_unsafe::<String>() } 25 } call_unsafe_generic_cell_const_unsafe_fn() -> *const Vec<std::cell::Cell<u32>>26const unsafe fn call_unsafe_generic_cell_const_unsafe_fn() 27 -> *const Vec<std::cell::Cell<u32>> 28 { 29 unsafe { ret_null_mut_ptr_no_unsafe::<Vec<std::cell::Cell<u32>>>() } 30 } 31 call_unsafe_const_unsafe_fn_immediate() -> i3232const unsafe fn call_unsafe_const_unsafe_fn_immediate() -> i32 { 33 ret_i32_no_unsafe() 34 } call_unsafe_generic_const_unsafe_fn_immediate() -> *const String35const unsafe fn call_unsafe_generic_const_unsafe_fn_immediate() -> *const String { 36 ret_null_ptr_no_unsafe::<String>() 37 } call_unsafe_generic_cell_const_unsafe_fn_immediate() -> *const Vec<std::cell::Cell<u32>>38const unsafe fn call_unsafe_generic_cell_const_unsafe_fn_immediate() 39 -> *const Vec<std::cell::Cell<u32>> 40 { 41 ret_null_mut_ptr_no_unsafe::<Vec<std::cell::Cell<u32>>>() 42 } 43 main()44fn main() {} 45