about summary refs log tree commit diff
path: root/compiler
diff options
context:
space:
mode:
authorMaybe Waffle <waffle.lapkin@gmail.com>2023-03-03 18:02:11 +0000
committerMaybe Waffle <waffle.lapkin@gmail.com>2023-04-27 15:59:07 +0000
commit1bf6bbb1bd199956d1be3d8988f0d8b6036cd2e3 (patch)
treeb220bc716c77b014467c0baa25d8e1941f372911 /compiler
parent2205c3fa5ffdb8794917d541e580742f527be8f1 (diff)
downloadrust-1bf6bbb1bd199956d1be3d8988f0d8b6036cd2e3.tar.gz
rust-1bf6bbb1bd199956d1be3d8988f0d8b6036cd2e3.zip
Impl `StructuralEq` & `ConstParamTy` for `str`, `&T`, `[T; N]` and `[T]`
Diffstat (limited to 'compiler')
-rw-r--r--compiler/rustc_trait_selection/src/traits/misc.rs9
1 files changed, 8 insertions, 1 deletions
diff --git a/compiler/rustc_trait_selection/src/traits/misc.rs b/compiler/rustc_trait_selection/src/traits/misc.rs
index cb8f64dd2e8..2210ef975e6 100644
--- a/compiler/rustc_trait_selection/src/traits/misc.rs
+++ b/compiler/rustc_trait_selection/src/traits/misc.rs
@@ -93,7 +93,14 @@ pub fn type_allowed_to_implement_const_param_ty<'tcx>(
 ) -> Result<(), ConstParamTyImplementationError<'tcx>> {
     let (adt, substs) = match self_type.kind() {
         // `core` provides these impls.
-        ty::Uint(_) | ty::Int(_) | ty::Bool | ty::Char => return Ok(()),
+        ty::Uint(_)
+        | ty::Int(_)
+        | ty::Bool
+        | ty::Char
+        | ty::Str
+        | ty::Array(..)
+        | ty::Slice(_)
+        | ty::Ref(.., hir::Mutability::Not) => return Ok(()),
 
         &ty::Adt(adt, substs) => (adt, substs),