about summary refs log tree commit diff
path: root/src
diff options
context:
space:
mode:
authorEllen <supbscripter@gmail.com>2021-06-12 09:56:25 +0100
committerEllen <supbscripter@gmail.com>2021-06-12 09:56:25 +0100
commit00a5ec13757b3830248f4822e5012ec304bf3647 (patch)
tree226b1a560957d6f8446fcb351601dad4bb21f1ef /src
parentb84ffce1aa806d1d53c2588fa59ecc00474b66ce (diff)
downloadrust-00a5ec13757b3830248f4822e5012ec304bf3647.tar.gz
rust-00a5ec13757b3830248f4822e5012ec304bf3647.zip
dont ICE on `ConstEvaluatable` predicates
Diffstat (limited to 'src')
-rw-r--r--src/librustdoc/clean/mod.rs2
-rw-r--r--src/test/rustdoc/const-generics/const-evaluatable-checked.rs5
2 files changed, 6 insertions, 1 deletions
diff --git a/src/librustdoc/clean/mod.rs b/src/librustdoc/clean/mod.rs
index d1c18821ea6..61507d5ddca 100644
--- a/src/librustdoc/clean/mod.rs
+++ b/src/librustdoc/clean/mod.rs
@@ -350,12 +350,12 @@ impl<'a> Clean<Option<WherePredicate>> for ty::Predicate<'a> {
             ty::PredicateKind::RegionOutlives(pred) => pred.clean(cx),
             ty::PredicateKind::TypeOutlives(pred) => pred.clean(cx),
             ty::PredicateKind::Projection(pred) => Some(pred.clean(cx)),
+            ty::PredicateKind::ConstEvaluatable(..) => None,
 
             ty::PredicateKind::Subtype(..)
             | ty::PredicateKind::WellFormed(..)
             | ty::PredicateKind::ObjectSafe(..)
             | ty::PredicateKind::ClosureKind(..)
-            | ty::PredicateKind::ConstEvaluatable(..)
             | ty::PredicateKind::ConstEquate(..)
             | ty::PredicateKind::TypeWellFormedFromEnv(..) => panic!("not user writable"),
         }
diff --git a/src/test/rustdoc/const-generics/const-evaluatable-checked.rs b/src/test/rustdoc/const-generics/const-evaluatable-checked.rs
new file mode 100644
index 00000000000..2ba55559181
--- /dev/null
+++ b/src/test/rustdoc/const-generics/const-evaluatable-checked.rs
@@ -0,0 +1,5 @@
+#![crate_name = "foo"]
+#![feature(const_evaluatable_checked, const_generics)]
+#![allow(incomplete_features)]
+// make sure that `ConstEvaluatable` predicates dont cause rustdoc to ICE #77647
+pub struct Ice<const N: usize> where [(); N + 1]:;
\ No newline at end of file