Advertisement
Guest User

Untitled

a guest
Jul 22nd, 2019
98
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.36 KB | None | 0 0
  1. fn example2_down(x: &i32, f: impl FnOnce(&i32)) -> i32 {
  2. let val = *x;
  3. f(x);
  4. return val; // Can return `*x` instead.
  5. }
  6.  
  7. fn main() {
  8. let mut local = 42;
  9. let raw_pointer = &mut local as *mut i32;
  10. let val = example2_down(
  11. unsafe { &*raw_pointer },
  12. |_x_inner| unsafe { *raw_pointer = 17; }, // Changes `*x`.
  13. );
  14. println!("{}", val); // Prints 42.
  15. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement