1error[E0277]: the size for values of type `A` cannot be known at compilation time
2  --> $DIR/extern-types-unsized.rs:22:20
3   |
4LL |     assert_sized::<A>();
5   |                    ^ doesn't have a size known at compile-time
6   |
7   = help: the trait `Sized` is not implemented for `A`
8note: required by a bound in `assert_sized`
9  --> $DIR/extern-types-unsized.rs:19:17
10   |
11LL | fn assert_sized<T>() {}
12   |                 ^ required by this bound in `assert_sized`
13help: consider relaxing the implicit `Sized` restriction
14   |
15LL | fn assert_sized<T: ?Sized>() {}
16   |                  ++++++++
17
18error[E0277]: the size for values of type `A` cannot be known at compilation time
19  --> $DIR/extern-types-unsized.rs:25:5
20   |
21LL |     assert_sized::<Foo>();
22   |     ^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
23   |
24   = help: within `Foo`, the trait `Sized` is not implemented for `A`
25note: required because it appears within the type `Foo`
26  --> $DIR/extern-types-unsized.rs:9:8
27   |
28LL | struct Foo {
29   |        ^^^
30note: required by a bound in `assert_sized`
31  --> $DIR/extern-types-unsized.rs:19:17
32   |
33LL | fn assert_sized<T>() {}
34   |                 ^ required by this bound in `assert_sized`
35help: consider relaxing the implicit `Sized` restriction
36   |
37LL | fn assert_sized<T: ?Sized>() {}
38   |                  ++++++++
39
40error[E0277]: the size for values of type `A` cannot be known at compilation time
41  --> $DIR/extern-types-unsized.rs:28:5
42   |
43LL |     assert_sized::<Bar<A>>();
44   |     ^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
45   |
46   = help: within `Bar<A>`, the trait `Sized` is not implemented for `A`
47note: required because it appears within the type `Bar<A>`
48  --> $DIR/extern-types-unsized.rs:14:8
49   |
50LL | struct Bar<T: ?Sized> {
51   |        ^^^
52note: required by a bound in `assert_sized`
53  --> $DIR/extern-types-unsized.rs:19:17
54   |
55LL | fn assert_sized<T>() {}
56   |                 ^ required by this bound in `assert_sized`
57help: consider relaxing the implicit `Sized` restriction
58   |
59LL | fn assert_sized<T: ?Sized>() {}
60   |                  ++++++++
61
62error[E0277]: the size for values of type `A` cannot be known at compilation time
63  --> $DIR/extern-types-unsized.rs:31:5
64   |
65LL |     assert_sized::<Bar<Bar<A>>>();
66   |     ^^^^^^^^^^^^^^^^^^^^^^^^^^^ doesn't have a size known at compile-time
67   |
68   = help: within `Bar<Bar<A>>`, the trait `Sized` is not implemented for `A`
69note: required because it appears within the type `Bar<A>`
70  --> $DIR/extern-types-unsized.rs:14:8
71   |
72LL | struct Bar<T: ?Sized> {
73   |        ^^^
74note: required because it appears within the type `Bar<Bar<A>>`
75  --> $DIR/extern-types-unsized.rs:14:8
76   |
77LL | struct Bar<T: ?Sized> {
78   |        ^^^
79note: required by a bound in `assert_sized`
80  --> $DIR/extern-types-unsized.rs:19:17
81   |
82LL | fn assert_sized<T>() {}
83   |                 ^ required by this bound in `assert_sized`
84help: consider relaxing the implicit `Sized` restriction
85   |
86LL | fn assert_sized<T: ?Sized>() {}
87   |                  ++++++++
88
89error: aborting due to 4 previous errors
90
91For more information about this error, try `rustc --explain E0277`.
92