From bcb2655a9a3af867c3e48a332870acc36d92df88 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Esteban=20K=C3=BCber?= Date: Thu, 17 Nov 2022 09:24:46 -0800 Subject: [PATCH] review comment --- compiler/rustc_middle/src/ty/error.rs | 10 +++++----- .../src/traits/error_reporting/suggestions.rs | 10 ++-------- 2 files changed, 7 insertions(+), 13 deletions(-) diff --git a/compiler/rustc_middle/src/ty/error.rs b/compiler/rustc_middle/src/ty/error.rs index 36261e7a1f374..d6044ceb0cafc 100644 --- a/compiler/rustc_middle/src/ty/error.rs +++ b/compiler/rustc_middle/src/ty/error.rs @@ -990,7 +990,7 @@ fn foo(&self) -> Self::T { String::new() } false } - pub fn short_ty_string(self, ty: Ty<'tcx>) -> Result { + pub fn short_ty_string(self, ty: Ty<'tcx>) -> (String, Option) { let length_limit = 50; let type_limit = 4; let regular = FmtPrinter::new(self, hir::def::Namespace::TypeNS) @@ -998,7 +998,7 @@ fn foo(&self) -> Self::T { String::new() } .expect("could not write to `String`") .into_buffer(); if regular.len() <= length_limit { - return Ok(regular); + return (regular, None); } let short = FmtPrinter::new_with_limit( self, @@ -1009,7 +1009,7 @@ fn foo(&self) -> Self::T { String::new() } .expect("could not write to `String`") .into_buffer(); if regular == short { - return Ok(regular); + return (regular, None); } // Multiple types might be shortened in a single error, ensure we create a file for each. let mut s = DefaultHasher::new(); @@ -1017,8 +1017,8 @@ fn foo(&self) -> Self::T { String::new() } let hash = s.finish(); let path = self.output_filenames(()).temp_path_ext(&format!("long-type-{hash}.txt"), None); match std::fs::write(&path, ®ular) { - Ok(_) => Err((short, path)), - Err(_) => Ok(regular), + Ok(_) => (short, Some(path)), + Err(_) => (regular, None), } } diff --git a/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs b/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs index 89a4136096773..757977ac5d508 100644 --- a/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs +++ b/compiler/rustc_trait_selection/src/traits/error_reporting/suggestions.rs @@ -2734,10 +2734,7 @@ impl<'tcx> TypeErrCtxtExt<'tcx> for TypeErrCtxt<'_, 'tcx> { parent_trait_pred.remap_constness_diag(param_env); let parent_def_id = parent_trait_pred.def_id(); let (self_ty, file) = - match self.tcx.short_ty_string(parent_trait_pred.skip_binder().self_ty()) { - Ok(self_ty) => (self_ty, None), - Err((self_ty, file)) => (self_ty, Some(file)), - }; + self.tcx.short_ty_string(parent_trait_pred.skip_binder().self_ty()); let msg = format!( "required for `{self_ty}` to implement `{}`", parent_trait_pred.print_modifiers_and_trait_path() @@ -2815,10 +2812,7 @@ impl<'tcx> TypeErrCtxtExt<'tcx> for TypeErrCtxt<'_, 'tcx> { pluralize!(count) )); let (self_ty, file) = - match self.tcx.short_ty_string(parent_trait_pred.skip_binder().self_ty()) { - Ok(self_ty) => (self_ty, None), - Err((self_ty, file)) => (self_ty, Some(file)), - }; + self.tcx.short_ty_string(parent_trait_pred.skip_binder().self_ty()); err.note(&format!( "required for `{self_ty}` to implement `{}`", parent_trait_pred.print_modifiers_and_trait_path()