//@ run-rustfix #![feature(explicit_tail_calls)] #![expect(incomplete_features)] fn f() {} fn g() { become (*(&f))() //~ error: tail calls can only be performed with function definitions or pointers } fn h() { let table = [f as fn()]; if let Some(fun) = table.get(0) { become (*fun)(); //~ error: tail calls can only be performed with function definitions or pointers } } fn i() { become (***Box::new(&mut &f))(); //~ error: tail calls can only be performed with function definitions or pointers } fn main() { g(); h(); i(); }