about summary refs log tree commit diff
path: root/tests/ui/statics/check-values-constraints.stderr
diff options
context:
space:
mode:
Diffstat (limited to 'tests/ui/statics/check-values-constraints.stderr')
-rw-r--r--tests/ui/statics/check-values-constraints.stderr171
1 files changed, 171 insertions, 0 deletions
diff --git a/tests/ui/statics/check-values-constraints.stderr b/tests/ui/statics/check-values-constraints.stderr
new file mode 100644
index 00000000000..24763c175fc
--- /dev/null
+++ b/tests/ui/statics/check-values-constraints.stderr
@@ -0,0 +1,171 @@
+error[E0493]: destructor of `SafeStruct` cannot be evaluated at compile-time
+  --> $DIR/check-values-constraints.rs:64:7
+   |
+LL |       ..SafeStruct {
+   |  _______^
+LL | |
+LL | |         field1: SafeEnum::Variant3(WithDtor),
+LL | |         field2: SafeEnum::Variant1,
+LL | |     }
+   | |_____^ the destructor for this type cannot be evaluated in statics
+LL |   };
+   |   - value is dropped here
+
+error[E0010]: allocations are not allowed in statics
+  --> $DIR/check-values-constraints.rs:81:33
+   |
+LL | static STATIC11: Vec<MyOwned> = vec![MyOwned];
+   |                                 ^^^^^^^^^^^^^ allocation not allowed in statics
+   |
+   = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0015]: cannot call non-const fn `slice::<impl [MyOwned]>::into_vec::<std::alloc::Global>` in statics
+  --> $DIR/check-values-constraints.rs:81:33
+   |
+LL | static STATIC11: Vec<MyOwned> = vec![MyOwned];
+   |                                 ^^^^^^^^^^^^^
+   |
+   = note: calls in statics are limited to constant functions, tuple structs and tuple variants
+   = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
+   = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0015]: cannot call non-const fn `<str as ToString>::to_string` in statics
+  --> $DIR/check-values-constraints.rs:92:38
+   |
+LL |     field2: SafeEnum::Variant4("str".to_string()),
+   |                                      ^^^^^^^^^^^
+   |
+   = note: calls in statics are limited to constant functions, tuple structs and tuple variants
+   = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
+help: add `#![feature(const_trait_impl)]` to the crate attributes to enable
+   |
+LL + #![feature(const_trait_impl)]
+   |
+
+error[E0010]: allocations are not allowed in statics
+  --> $DIR/check-values-constraints.rs:96:5
+   |
+LL |     vec![MyOwned],
+   |     ^^^^^^^^^^^^^ allocation not allowed in statics
+   |
+   = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0015]: cannot call non-const fn `slice::<impl [MyOwned]>::into_vec::<std::alloc::Global>` in statics
+  --> $DIR/check-values-constraints.rs:96:5
+   |
+LL |     vec![MyOwned],
+   |     ^^^^^^^^^^^^^
+   |
+   = note: calls in statics are limited to constant functions, tuple structs and tuple variants
+   = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
+   = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0010]: allocations are not allowed in statics
+  --> $DIR/check-values-constraints.rs:98:5
+   |
+LL |     vec![MyOwned],
+   |     ^^^^^^^^^^^^^ allocation not allowed in statics
+   |
+   = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0015]: cannot call non-const fn `slice::<impl [MyOwned]>::into_vec::<std::alloc::Global>` in statics
+  --> $DIR/check-values-constraints.rs:98:5
+   |
+LL |     vec![MyOwned],
+   |     ^^^^^^^^^^^^^
+   |
+   = note: calls in statics are limited to constant functions, tuple structs and tuple variants
+   = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
+   = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0010]: allocations are not allowed in statics
+  --> $DIR/check-values-constraints.rs:103:6
+   |
+LL |     &vec![MyOwned],
+   |      ^^^^^^^^^^^^^ allocation not allowed in statics
+   |
+   = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0015]: cannot call non-const fn `slice::<impl [MyOwned]>::into_vec::<std::alloc::Global>` in statics
+  --> $DIR/check-values-constraints.rs:103:6
+   |
+LL |     &vec![MyOwned],
+   |      ^^^^^^^^^^^^^
+   |
+   = note: calls in statics are limited to constant functions, tuple structs and tuple variants
+   = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
+   = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0010]: allocations are not allowed in statics
+  --> $DIR/check-values-constraints.rs:105:6
+   |
+LL |     &vec![MyOwned],
+   |      ^^^^^^^^^^^^^ allocation not allowed in statics
+   |
+   = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0015]: cannot call non-const fn `slice::<impl [MyOwned]>::into_vec::<std::alloc::Global>` in statics
+  --> $DIR/check-values-constraints.rs:105:6
+   |
+LL |     &vec![MyOwned],
+   |      ^^^^^^^^^^^^^
+   |
+   = note: calls in statics are limited to constant functions, tuple structs and tuple variants
+   = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
+   = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0010]: allocations are not allowed in statics
+  --> $DIR/check-values-constraints.rs:111:31
+   |
+LL | static STATIC19: Vec<isize> = vec![3];
+   |                               ^^^^^^^ allocation not allowed in statics
+   |
+   = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0015]: cannot call non-const fn `slice::<impl [isize]>::into_vec::<std::alloc::Global>` in statics
+  --> $DIR/check-values-constraints.rs:111:31
+   |
+LL | static STATIC19: Vec<isize> = vec![3];
+   |                               ^^^^^^^
+   |
+   = note: calls in statics are limited to constant functions, tuple structs and tuple variants
+   = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
+   = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0010]: allocations are not allowed in statics
+  --> $DIR/check-values-constraints.rs:117:32
+   |
+LL |         static x: Vec<isize> = vec![3];
+   |                                ^^^^^^^ allocation not allowed in statics
+   |
+   = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0015]: cannot call non-const fn `slice::<impl [isize]>::into_vec::<std::alloc::Global>` in statics
+  --> $DIR/check-values-constraints.rs:117:32
+   |
+LL |         static x: Vec<isize> = vec![3];
+   |                                ^^^^^^^
+   |
+   = note: calls in statics are limited to constant functions, tuple structs and tuple variants
+   = note: consider wrapping this expression in `std::sync::LazyLock::new(|| ...)`
+   = note: this error originates in the macro `vec` (in Nightly builds, run with -Z macro-backtrace for more info)
+
+error[E0507]: cannot move out of static item `x`
+  --> $DIR/check-values-constraints.rs:119:9
+   |
+LL |         x
+   |         ^ move occurs because `x` has type `Vec<isize>`, which does not implement the `Copy` trait
+   |
+help: consider borrowing here
+   |
+LL |         &x
+   |         +
+help: consider cloning the value if the performance cost is acceptable
+   |
+LL |         x.clone()
+   |          ++++++++
+
+error: aborting due to 17 previous errors
+
+Some errors have detailed explanations: E0010, E0015, E0493, E0507.
+For more information about an error, try `rustc --explain E0010`.