From 3eb8eb942951d66fe1f0cc1be3a47cd9f147fc3e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20K=C3=BCber?= Date: Mon, 22 Jun 2020 16:05:31 -0700 Subject: [PATCH] review comments --- .../error_reporting/nice_region_error/named_anon_conflict.rs | 5 +++-- .../error_reporting/nice_region_error/static_impl_trait.rs | 2 +- src/librustc_middle/ty/context.rs | 3 ++- 3 files changed, 6 insertions(+), 4 deletions(-) diff --git a/src/librustc_infer/infer/error_reporting/nice_region_error/named_anon_conflict.rs b/src/librustc_infer/infer/error_reporting/nice_region_error/named_anon_conflict.rs index 7c8ba834dcd..3012928a098 100644 --- a/src/librustc_infer/infer/error_reporting/nice_region_error/named_anon_conflict.rs +++ b/src/librustc_infer/infer/error_reporting/nice_region_error/named_anon_conflict.rs @@ -92,9 +92,10 @@ pub(super) fn try_report_named_anon_conflict(&self) -> Option Option { ); let anon_reg_sup = self.tcx().is_suitable_region(sup_r)?; debug!("try_report_static_impl_trait: anon_reg_sup={:?}", anon_reg_sup); - let fn_returns = self.tcx().return_type_impl_or_dyn_trait(anon_reg_sup.def_id); + let fn_returns = self.tcx().return_type_impl_or_dyn_traits(anon_reg_sup.def_id); if fn_returns.is_empty() { return None; } diff --git a/src/librustc_middle/ty/context.rs b/src/librustc_middle/ty/context.rs index 73374bb1e84..e8ea7dba217 100644 --- a/src/librustc_middle/ty/context.rs +++ b/src/librustc_middle/ty/context.rs @@ -1406,7 +1406,8 @@ pub fn is_suitable_region(&self, region: Region<'tcx>) -> Option }) } - pub fn return_type_impl_or_dyn_trait(&self, scope_def_id: DefId) -> Vec<&'tcx hir::Ty<'tcx>> { + /// Given a `DefId` for an `fn`, return all the `dyn` and `impl` traits in its return type. + pub fn return_type_impl_or_dyn_traits(&self, scope_def_id: DefId) -> Vec<&'tcx hir::Ty<'tcx>> { let hir_id = self.hir().as_local_hir_id(scope_def_id.expect_local()); let hir_output = match self.hir().get(hir_id) { Node::Item(hir::Item {