error[E0720]: opaque type expands to a recursive type
  --> $DIR/recursive-impl-trait-type-indirect.rs:7:22
   |
LL | fn option(i: i32) -> impl Sized {
   |                      ^^^^^^^^^^ expands to a recursive type
   |
   = note: expanded type is `std::option::Option<(impl Sized, i32)>`

error[E0720]: opaque type expands to a recursive type
  --> $DIR/recursive-impl-trait-type-indirect.rs:12:15
   |
LL | fn tuple() -> impl Sized {
   |               ^^^^^^^^^^ expands to a recursive type
   |
   = note: expanded type is `(impl Sized,)`

error[E0720]: opaque type expands to a recursive type
  --> $DIR/recursive-impl-trait-type-indirect.rs:17:15
   |
LL | fn array() -> impl Sized {
   |               ^^^^^^^^^^ expands to a recursive type
   |
   = note: expanded type is `[impl Sized; 1]`

error[E0720]: opaque type expands to a recursive type
  --> $DIR/recursive-impl-trait-type-indirect.rs:22:13
   |
LL | fn ptr() -> impl Sized {
   |             ^^^^^^^^^^ expands to a recursive type
   |
   = note: expanded type is `*const impl Sized`

error[E0720]: opaque type expands to a recursive type
  --> $DIR/recursive-impl-trait-type-indirect.rs:27:16
   |
LL | fn fn_ptr() -> impl Sized {
   |                ^^^^^^^^^^ expands to a recursive type
   |
   = note: expanded type is `fn() -> impl Sized`

error[E0720]: opaque type expands to a recursive type
  --> $DIR/recursive-impl-trait-type-indirect.rs:32:25
   |
LL | fn closure_capture() -> impl Sized {
   |                         ^^^^^^^^^^ expands to a recursive type
   |
   = note: expanded type is `[closure@$DIR/recursive-impl-trait-type-indirect.rs:35:5: 37:6 x:impl Sized]`

error[E0720]: opaque type expands to a recursive type
  --> $DIR/recursive-impl-trait-type-indirect.rs:40:29
   |
LL | fn closure_ref_capture() -> impl Sized {
   |                             ^^^^^^^^^^ expands to a recursive type
   |
   = note: expanded type is `[closure@$DIR/recursive-impl-trait-type-indirect.rs:43:5: 45:6 x:impl Sized]`

error[E0720]: opaque type expands to a recursive type
  --> $DIR/recursive-impl-trait-type-indirect.rs:48:21
   |
LL | fn closure_sig() -> impl Sized {
   |                     ^^^^^^^^^^ expands to a recursive type
   |
   = note: expanded type is `[closure@$DIR/recursive-impl-trait-type-indirect.rs:50:5: 50:21]`

error[E0720]: opaque type expands to a recursive type
  --> $DIR/recursive-impl-trait-type-indirect.rs:53:23
   |
LL | fn generator_sig() -> impl Sized {
   |                       ^^^^^^^^^^ expands to a recursive type
   |
   = note: expanded type is `[closure@$DIR/recursive-impl-trait-type-indirect.rs:55:5: 55:23]`

error[E0720]: opaque type expands to a recursive type
  --> $DIR/recursive-impl-trait-type-indirect.rs:58:27
   |
LL | fn generator_capture() -> impl Sized {
   |                           ^^^^^^^^^^ expands to a recursive type
   |
   = note: expanded type is `[generator@$DIR/recursive-impl-trait-type-indirect.rs:61:5: 64:6 x:impl Sized {()}]`

error[E0720]: opaque type expands to a recursive type
  --> $DIR/recursive-impl-trait-type-indirect.rs:67:35
   |
LL | fn substs_change<T: 'static>() -> impl Sized {
   |                                   ^^^^^^^^^^ expands to a recursive type
   |
   = note: expanded type is `(impl Sized,)`

error[E0720]: opaque type expands to a recursive type
  --> $DIR/recursive-impl-trait-type-indirect.rs:72:24
   |
LL | fn generator_hold() -> impl Sized {
   |                        ^^^^^^^^^^ expands to a recursive type
   |
   = note: expanded type is `[generator@$DIR/recursive-impl-trait-type-indirect.rs:74:5: 78:6 {impl Sized, ()}]`

error[E0720]: opaque type expands to a recursive type
  --> $DIR/recursive-impl-trait-type-indirect.rs:86:26
   |
LL | fn mutual_recursion() -> impl Sync {
   |                          ^^^^^^^^^ expands to a recursive type
   |
   = note: type resolves to itself

error[E0720]: opaque type expands to a recursive type
  --> $DIR/recursive-impl-trait-type-indirect.rs:91:28
   |
LL | fn mutual_recursion_b() -> impl Sized {
   |                            ^^^^^^^^^^ expands to a recursive type
   |
   = note: type resolves to itself

error: aborting due to 14 previous errors

For more information about this error, try `rustc --explain E0720`.
