From 4b85aa99ad487a5e64eaaee830077d866e8a9e0d Mon Sep 17 00:00:00 2001 From: Nicholas Nethercote Date: Thu, 27 Apr 2023 16:21:20 +1000 Subject: [PATCH] Add a comment about `TypeFoldable` and slices. --- compiler/rustc_type_ir/src/structural_impls.rs | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/compiler/rustc_type_ir/src/structural_impls.rs b/compiler/rustc_type_ir/src/structural_impls.rs index c513bde6ecfc..c9675f93f956 100644 --- a/compiler/rustc_type_ir/src/structural_impls.rs +++ b/compiler/rustc_type_ir/src/structural_impls.rs @@ -141,6 +141,10 @@ impl> TypeVisitable for Vec { } } +// `TypeFoldable` isn't impl'd for `&[T]`. It doesn't make sense in the general +// case, because we can't return a new slice. But note that there are a couple +// of trivial impls of `TypeFoldable` for specific slice types elsewhere. + impl> TypeVisitable for &[T] { fn visit_with>(&self, visitor: &mut V) -> ControlFlow { self.iter().try_for_each(|t| t.visit_with(visitor))