lint: don't consider sizedness in upcastable lint

Adding a sizedness supertrait shouldn't require multiple vtables so
shouldn't be linted against.
This commit is contained in:
David Wood
2025-04-09 16:49:28 +00:00
parent 884d0e031a
commit f0b84b8dcf
2 changed files with 2 additions and 2 deletions

View File

@@ -46,7 +46,8 @@ impl<'tcx> LateLintPass<'tcx> for MultipleSupertraitUpcastable {
.tcx .tcx
.explicit_super_predicates_of(def_id) .explicit_super_predicates_of(def_id)
.iter_identity_copied() .iter_identity_copied()
.filter_map(|(pred, _)| pred.as_trait_clause()); .filter_map(|(pred, _)| pred.as_trait_clause())
.filter(|pred| !cx.tcx.is_lang_item(pred.def_id(), hir::LangItem::MetaSized));
if direct_super_traits_iter.count() > 1 { if direct_super_traits_iter.count() > 1 {
cx.emit_span_lint( cx.emit_span_lint(
MULTIPLE_SUPERTRAIT_UPCASTABLE, MULTIPLE_SUPERTRAIT_UPCASTABLE,

View File

@@ -269,7 +269,6 @@ impl<T: ?Sized> const Deref for &mut T {
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]
#[const_trait] #[const_trait]
#[rustc_const_unstable(feature = "const_deref", issue = "88955")] #[rustc_const_unstable(feature = "const_deref", issue = "88955")]
#[allow(multiple_supertrait_upcastable)]
pub trait DerefMut: ~const Deref + PointeeSized { pub trait DerefMut: ~const Deref + PointeeSized {
/// Mutably dereferences the value. /// Mutably dereferences the value.
#[stable(feature = "rust1", since = "1.0.0")] #[stable(feature = "rust1", since = "1.0.0")]