Rename confusing function name
This commit is contained in:
parent
d2dabeee76
commit
b826eb219c
4 changed files with 9 additions and 9 deletions
|
@ -992,7 +992,7 @@ impl<'a, 'tcx> MirBorrowckCtxt<'a, 'tcx> {
|
|||
}
|
||||
}
|
||||
|
||||
if look_at_return && hir.get_return_block(closure_id).is_some() {
|
||||
if look_at_return && hir.get_fn_id_for_return_block(closure_id).is_some() {
|
||||
// ...otherwise we are probably in the tail expression of the function, point at the
|
||||
// return type.
|
||||
match self.infcx.tcx.hir_node_by_def_id(hir.get_parent_item(fn_call_id).def_id) {
|
||||
|
|
|
@ -944,7 +944,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
) -> Option<(LocalDefId, &'tcx hir::FnDecl<'tcx>, bool)> {
|
||||
// Get enclosing Fn, if it is a function or a trait method, unless there's a `loop` or
|
||||
// `while` before reaching it, as block tail returns are not available in them.
|
||||
self.tcx.hir().get_return_block(blk_id).and_then(|blk_id| {
|
||||
self.tcx.hir().get_fn_id_for_return_block(blk_id).and_then(|blk_id| {
|
||||
let parent = self.tcx.hir_node(blk_id);
|
||||
self.get_node_fn_decl(parent)
|
||||
.map(|(fn_id, fn_decl, _, is_main)| (fn_id, fn_decl, is_main))
|
||||
|
|
|
@ -1909,7 +1909,7 @@ impl<'a, 'tcx> FnCtxt<'a, 'tcx> {
|
|||
let returned = matches!(
|
||||
self.tcx.parent_hir_node(expr.hir_id),
|
||||
hir::Node::Expr(hir::Expr { kind: hir::ExprKind::Ret(_), .. })
|
||||
) || map.get_return_block(expr.hir_id).is_some();
|
||||
) || map.get_fn_id_for_return_block(expr.hir_id).is_some();
|
||||
if returned
|
||||
&& let ty::Adt(e, args_e) = expected.kind()
|
||||
&& let ty::Adt(f, args_f) = found.kind()
|
||||
|
|
|
@ -511,14 +511,14 @@ impl<'hir> Map<'hir> {
|
|||
self.body_const_context(self.enclosing_body_owner(hir_id)).is_some()
|
||||
}
|
||||
|
||||
/// Retrieves the `HirId` for `id`'s enclosing method's body, unless there's a
|
||||
/// `while` or `loop` before reaching it, as block tail returns are not
|
||||
/// available in them.
|
||||
/// Retrieves the `HirId` for `id`'s enclosing function *if* the `id` block or return is
|
||||
/// in the "tail" position of the function, in other words if it's likely to correspond
|
||||
/// to the return type of the function.
|
||||
///
|
||||
/// ```
|
||||
/// fn foo(x: usize) -> bool {
|
||||
/// if x == 1 {
|
||||
/// true // If `get_return_block` gets passed the `id` corresponding
|
||||
/// true // If `get_fn_id_for_return_block` gets passed the `id` corresponding
|
||||
/// } else { // to this, it will return `foo`'s `HirId`.
|
||||
/// false
|
||||
/// }
|
||||
|
@ -528,12 +528,12 @@ impl<'hir> Map<'hir> {
|
|||
/// ```compile_fail,E0308
|
||||
/// fn foo(x: usize) -> bool {
|
||||
/// loop {
|
||||
/// true // If `get_return_block` gets passed the `id` corresponding
|
||||
/// true // If `get_fn_id_for_return_block` gets passed the `id` corresponding
|
||||
/// } // to this, it will return `None`.
|
||||
/// false
|
||||
/// }
|
||||
/// ```
|
||||
pub fn get_return_block(self, id: HirId) -> Option<HirId> {
|
||||
pub fn get_fn_id_for_return_block(self, id: HirId) -> Option<HirId> {
|
||||
let mut iter = self.parent_iter(id).peekable();
|
||||
let mut ignore_tail = false;
|
||||
if let Node::Expr(Expr { kind: ExprKind::Ret(_), .. }) = self.tcx.hir_node(id) {
|
||||
|
|
Loading…
Add table
Reference in a new issue