about summary refs log tree commit diff
path: root/tests/ui/const-generics/const-argument-if-length.min.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/const-generics/const-argument-if-length.min.stderr')
-rw-r--r--tests/ui/const-generics/const-argument-if-length.min.stderr36
1 files changed, 36 insertions, 0 deletions
diff --git a/tests/ui/const-generics/const-argument-if-length.min.stderr b/tests/ui/const-generics/const-argument-if-length.min.stderr
new file mode 100644
index 00000000000..f85e60f63fb
--- /dev/null
+++ b/tests/ui/const-generics/const-argument-if-length.min.stderr
@@ -0,0 +1,36 @@
+error: generic parameters may not be used in const operations
+  --> $DIR/const-argument-if-length.rs:17:24
+   |
+LL |     pad: [u8; is_zst::<T>()],
+   |                        ^ cannot perform const operation using `T`
+   |
+   = note: type parameters may not be used in const expressions
+   = help: use `#![feature(generic_const_exprs)]` to allow generic const expressions
+
+error[E0277]: the size for values of type `T` cannot be known at compilation time
+  --> $DIR/const-argument-if-length.rs:15:12
+   |
+LL | pub struct AtLeastByte<T: ?Sized> {
+   |                        - this type parameter needs to be `std::marker::Sized`
+LL |     value: T,
+   |            ^ doesn't have a size known at compile-time
+   |
+   = note: only the last field of a struct may have a dynamically sized type
+   = help: change the field's type to have a statically known size
+help: consider removing the `?Sized` bound to make the type parameter `Sized`
+   |
+LL - pub struct AtLeastByte<T: ?Sized> {
+LL + pub struct AtLeastByte<T> {
+   |
+help: borrowed types always have a statically known size
+   |
+LL |     value: &T,
+   |            +
+help: the `Box` type always has a statically known size and allocates its contents in the heap
+   |
+LL |     value: Box<T>,
+   |            ++++ +
+
+error: aborting due to 2 previous errors
+
+For more information about this error, try `rustc --explain E0277`.