Properly reject tail calls to `&FnPtr` or `&FnDef` Fixes rust-lang/rust#144795
For more information about how rustc works, see the rustc dev guide.