Advertisement
Guest User

Untitled

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