fn main() { let foo = assume_black_box(|| { let f = || loop { borrow_mutably::(); }; f as fn() }); foo(); assume_black_box(|| loop { borrow_mutably::(); }); } pub fn assume_black_box(f: impl FnOnce() -> T) -> T { fn __autoken_assume_black_box(f: impl FnOnce() -> T) -> T { f() } __autoken_assume_black_box::(f) } fn borrow_mutably() { fn __autoken_borrow_mutably() {} __autoken_borrow_mutably::(); }