summaryrefslogtreecommitdiffstats
path: root/src/test/ui/impl-trait/recursive-impl-trait-type-indirect.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/test/ui/impl-trait/recursive-impl-trait-type-indirect.rs')
-rw-r--r--src/test/ui/impl-trait/recursive-impl-trait-type-indirect.rs96
1 files changed, 0 insertions, 96 deletions
diff --git a/src/test/ui/impl-trait/recursive-impl-trait-type-indirect.rs b/src/test/ui/impl-trait/recursive-impl-trait-type-indirect.rs
deleted file mode 100644
index ffc0cd9d1..000000000
--- a/src/test/ui/impl-trait/recursive-impl-trait-type-indirect.rs
+++ /dev/null
@@ -1,96 +0,0 @@
-// Test that impl trait does not allow creating recursive types that are
-// otherwise forbidden.
-
-#![feature(generators)]
-#![allow(unconditional_recursion)]
-
-fn option(i: i32) -> impl Sized {
- //~^ ERROR cannot resolve opaque type
- if i < 0 { None } else { Some((option(i - 1), i)) }
-}
-
-fn tuple() -> impl Sized {
- //~^ ERROR
- (tuple(),)
-}
-
-fn array() -> impl Sized {
- //~^ ERROR
- [array()]
-}
-
-fn ptr() -> impl Sized {
- //~^ ERROR
- &ptr() as *const _
-}
-
-fn fn_ptr() -> impl Sized {
- //~^ ERROR
- fn_ptr as fn() -> _
-}
-
-fn closure_capture() -> impl Sized {
- //~^ ERROR
- let x = closure_capture();
- move || {
- x;
- }
-}
-
-fn closure_ref_capture() -> impl Sized {
- //~^ ERROR
- let x = closure_ref_capture();
- move || {
- &x;
- }
-}
-
-fn closure_sig() -> impl Sized {
- //~^ ERROR
- || closure_sig()
-}
-
-fn generator_sig() -> impl Sized {
- //~^ ERROR
- || generator_sig()
-}
-
-fn generator_capture() -> impl Sized {
- //~^ ERROR
- let x = generator_capture();
- move || {
- yield;
- x;
- }
-}
-
-fn substs_change<T: 'static>() -> impl Sized {
- //~^ ERROR
- (substs_change::<&T>(),)
-}
-
-fn generator_hold() -> impl Sized {
- //~^ ERROR
- move || {
- let x = generator_hold();
- yield;
- x;
- }
-}
-
-fn use_fn_ptr() -> impl Sized {
- // OK, error already reported
- fn_ptr()
-}
-
-fn mutual_recursion() -> impl Sync {
- //~^ ERROR
- mutual_recursion_b()
-}
-
-fn mutual_recursion_b() -> impl Sized {
- //~^ ERROR
- mutual_recursion()
-}
-
-fn main() {}