Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- fn example2_down(x: &i32, f: impl FnOnce(&i32)) -> i32 {
- let val = *x;
- f(x);
- return val; // Can return `*x` instead.
- }
- fn main() {
- let mut local = 42;
- let raw_pointer = &mut local as *mut i32;
- let val = example2_down(
- unsafe { &*raw_pointer },
- |_x_inner| unsafe { *raw_pointer = 17; }, // Changes `*x`.
- );
- println!("{}", val); // Prints 42.
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement