summaryrefslogtreecommitdiffstats
path: root/tests/ui/extern/extern-types-unsized.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/extern/extern-types-unsized.stderr')
-rw-r--r--tests/ui/extern/extern-types-unsized.stderr86
1 files changed, 86 insertions, 0 deletions
diff --git a/tests/ui/extern/extern-types-unsized.stderr b/tests/ui/extern/extern-types-unsized.stderr
new file mode 100644
index 000000000..a79caced1
--- /dev/null
+++ b/tests/ui/extern/extern-types-unsized.stderr
@@ -0,0 +1,86 @@
+error[E0277]: the size for values of type `A` cannot be known at compilation time
+ --> $DIR/extern-types-unsized.rs:22:20
+ |
+LL | assert_sized::<A>();
+ | ^ doesn't have a size known at compile-time
+ |
+ = help: the trait `Sized` is not implemented for `A`
+note: required by a bound in `assert_sized`
+ --> $DIR/extern-types-unsized.rs:19:17
+ |
+LL | fn assert_sized<T>() {}
+ | ^ required by this bound in `assert_sized`
+help: consider relaxing the implicit `Sized` restriction
+ |
+LL | fn assert_sized<T: ?Sized>() {}
+ | ++++++++
+
+error[E0277]: the size for values of type `A` cannot be known at compilation time
+ --> $DIR/extern-types-unsized.rs:25:20
+ |
+LL | assert_sized::<Foo>();
+ | ^^^ doesn't have a size known at compile-time
+ |
+ = help: within `Foo`, the trait `Sized` is not implemented for `A`
+note: required because it appears within the type `Foo`
+ --> $DIR/extern-types-unsized.rs:9:8
+ |
+LL | struct Foo {
+ | ^^^
+note: required by a bound in `assert_sized`
+ --> $DIR/extern-types-unsized.rs:19:17
+ |
+LL | fn assert_sized<T>() {}
+ | ^ required by this bound in `assert_sized`
+help: consider relaxing the implicit `Sized` restriction
+ |
+LL | fn assert_sized<T: ?Sized>() {}
+ | ++++++++
+
+error[E0277]: the size for values of type `A` cannot be known at compilation time
+ --> $DIR/extern-types-unsized.rs:28:20
+ |
+LL | assert_sized::<Bar<A>>();
+ | ^^^^^^ doesn't have a size known at compile-time
+ |
+ = help: within `Bar<A>`, the trait `Sized` is not implemented for `A`
+note: required because it appears within the type `Bar<A>`
+ --> $DIR/extern-types-unsized.rs:14:8
+ |
+LL | struct Bar<T: ?Sized> {
+ | ^^^
+note: required by a bound in `assert_sized`
+ --> $DIR/extern-types-unsized.rs:19:17
+ |
+LL | fn assert_sized<T>() {}
+ | ^ required by this bound in `assert_sized`
+help: consider relaxing the implicit `Sized` restriction
+ |
+LL | fn assert_sized<T: ?Sized>() {}
+ | ++++++++
+
+error[E0277]: the size for values of type `A` cannot be known at compilation time
+ --> $DIR/extern-types-unsized.rs:31:20
+ |
+LL | assert_sized::<Bar<Bar<A>>>();
+ | ^^^^^^^^^^^ doesn't have a size known at compile-time
+ |
+ = help: within `Bar<Bar<A>>`, the trait `Sized` is not implemented for `A`
+note: required because it appears within the type `Bar<A>`
+ --> $DIR/extern-types-unsized.rs:14:8
+ |
+LL | struct Bar<T: ?Sized> {
+ | ^^^
+note: required by a bound in `assert_sized`
+ --> $DIR/extern-types-unsized.rs:19:17
+ |
+LL | fn assert_sized<T>() {}
+ | ^ required by this bound in `assert_sized`
+help: consider relaxing the implicit `Sized` restriction
+ |
+LL | fn assert_sized<T: ?Sized>() {}
+ | ++++++++
+
+error: aborting due to 4 previous errors
+
+For more information about this error, try `rustc --explain E0277`.