1
Fork 0

Rollup merge of #137305 - nnethercote:rustc_middle-2, r=lcnr

Tweaks in and around `rustc_middle`

A bunch of tiny improvements I found while working on bigger things.

r? ```@lcnr```
This commit is contained in:
Matthias Krüger 2025-02-21 12:45:25 +01:00 committed by GitHub
commit 1f6c75e682
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
21 changed files with 59 additions and 91 deletions

View file

@ -10,7 +10,6 @@ use rustc_hir::def::Res;
use rustc_hir::{MatchSource, Node};
use rustc_middle::traits::{
IfExpressionCause, MatchExpressionArmCause, ObligationCause, ObligationCauseCode,
StatementAsExpression,
};
use rustc_middle::ty::error::TypeError;
use rustc_middle::ty::print::with_no_trimmed_paths;
@ -26,8 +25,14 @@ use crate::errors::{
SuggestTuplePatternMany, SuggestTuplePatternOne, TypeErrorAdditionalDiags,
};
#[derive(Copy, Clone, Debug, PartialEq, Eq, Hash)]
enum StatementAsExpression {
CorrectType,
NeedsBoxing,
}
#[derive(Clone, Copy)]
pub enum SuggestAsRefKind {
enum SuggestAsRefKind {
Option,
Result,
}
@ -382,7 +387,7 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
}
}
pub fn suggest_function_pointers_impl(
pub(crate) fn suggest_function_pointers_impl(
&self,
span: Option<Span>,
exp_found: &ty::error::ExpectedFound<Ty<'tcx>>,
@ -518,7 +523,7 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
}
}
pub fn should_suggest_as_ref_kind(
fn should_suggest_as_ref_kind(
&self,
expected: Ty<'tcx>,
found: Ty<'tcx>,
@ -588,8 +593,8 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
) -> Option<TypeErrorAdditionalDiags> {
/// Find the if expression with given span
struct IfVisitor {
pub found_if: bool,
pub err_span: Span,
found_if: bool,
err_span: Span,
}
impl<'v> Visitor<'v> for IfVisitor {
@ -736,7 +741,7 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
impl<'tcx> TypeErrCtxt<'_, 'tcx> {
/// Be helpful when the user wrote `{... expr; }` and taking the `;` off
/// is enough to fix the error.
pub fn could_remove_semicolon(
fn could_remove_semicolon(
&self,
blk: &'tcx hir::Block<'tcx>,
expected_ty: Ty<'tcx>,
@ -816,7 +821,7 @@ impl<'tcx> TypeErrCtxt<'_, 'tcx> {
/// Suggest returning a local binding with a compatible type if the block
/// has no return expression.
pub fn consider_returning_binding_diag(
fn consider_returning_binding_diag(
&self,
blk: &'tcx hir::Block<'tcx>,
expected_ty: Ty<'tcx>,