Always register sized obligation for argument

This commit is contained in:
Michael Goulet 2023-06-15 03:18:12 +00:00
parent 6330daade9
commit 0d6da78b06
7 changed files with 57 additions and 22 deletions

View file

@ -92,10 +92,7 @@ pub(super) fn check_fn<'a, 'tcx>(
fcx.check_pat_top(&param.pat, param_ty, ty_span, None);
// Check that argument is Sized.
// The check for a non-trivial pattern is a hack to avoid duplicate warnings
// for simple cases like `fn foo(x: Trait)`,
// where we would error once on the parameter as a whole, and once on the binding `x`.
if param.pat.simple_ident().is_none() && !params_can_be_unsized {
if !params_can_be_unsized {
fcx.require_type_is_sized(
param_ty,
param.pat.span,