]> git.lizzy.rs Git - rust.git/commitdiff
Add another test
authorJoshua Nelson <jyn514@gmail.com>
Sat, 8 Aug 2020 14:19:56 +0000 (10:19 -0400)
committerJoshua Nelson <jyn514@gmail.com>
Sat, 8 Aug 2020 14:19:56 +0000 (10:19 -0400)
src/test/rustdoc-ui/infinite-recursive-type-impl-trait-return.rs [new file with mode: 0644]
src/test/rustdoc-ui/infinite-recursive-type-impl-trait-return.stderr [new file with mode: 0644]

diff --git a/src/test/rustdoc-ui/infinite-recursive-type-impl-trait-return.rs b/src/test/rustdoc-ui/infinite-recursive-type-impl-trait-return.rs
new file mode 100644 (file)
index 0000000..acce0f7
--- /dev/null
@@ -0,0 +1,15 @@
+// normalize-stderr-test: "`.*`" -> "`DEF_ID`"
+// normalize-stdout-test: "`.*`" -> "`DEF_ID`"
+// edition:2018
+
+pub async fn f() -> impl std::fmt::Debug {
+    #[derive(Debug)]
+    enum E {
+    //~^ ERROR recursive type `f::{{closure}}#0::E` has infinite size
+        This(E),
+        Unit,
+    }
+    E::Unit
+}
+
+fn main() {}
diff --git a/src/test/rustdoc-ui/infinite-recursive-type-impl-trait-return.stderr b/src/test/rustdoc-ui/infinite-recursive-type-impl-trait-return.stderr
new file mode 100644 (file)
index 0000000..991dc6e
--- /dev/null
@@ -0,0 +1,17 @@
+error[E0072]: recursive type `DEF_ID` has infinite size
+  --> $DIR/infinite-recursive-type-impl-trait-return.rs:7:5
+   |
+LL |     enum E {
+   |     ^^^^^^ recursive type has infinite size
+LL |
+LL |         This(E),
+   |              - recursive without indirection
+   |
+help: insert some indirection (e.g., a `DEF_ID` representable
+   |
+LL |         This(Box<E>),
+   |              ^^^^ ^
+
+error: aborting due to previous error
+
+For more information about this error, try `DEF_ID`.