1 error[E0493]: destructor of `String` cannot be evaluated at compile-time
2 --> $DIR/drop-elaboration-after-borrowck-error.rs:7:5
4 LL | a[0] = String::new();
7 | the destructor for this type cannot be evaluated in statics
8 | value is dropped here
10 error[E0493]: destructor of `[String; 1]` cannot be evaluated at compile-time
11 --> $DIR/drop-elaboration-after-borrowck-error.rs:5:9
13 LL | let a: [String; 1];
14 | ^ the destructor for this type cannot be evaluated in statics
17 | - value is dropped here
19 error[E0381]: used binding `a` isn't initialized
20 --> $DIR/drop-elaboration-after-borrowck-error.rs:7:5
22 LL | let a: [String; 1];
23 | - binding declared here but left uninitialized
25 LL | a[0] = String::new();
26 | ^^^^ `a` used here but it isn't initialized
28 help: consider assigning a value
30 LL | let a: [String; 1] = todo!();
33 error[E0493]: destructor of `T` cannot be evaluated at compile-time
34 --> $DIR/drop-elaboration-after-borrowck-error.rs:18:9
36 LL | self.0[0] = other;
39 | the destructor for this type cannot be evaluated in constant functions
40 | value is dropped here
42 error[E0493]: destructor of `B<T>` cannot be evaluated at compile-time
43 --> $DIR/drop-elaboration-after-borrowck-error.rs:16:13
45 LL | let _this = self;
46 | ^^^^^ the destructor for this type cannot be evaluated in constant functions
49 | - value is dropped here
51 error[E0382]: use of moved value: `self.0`
52 --> $DIR/drop-elaboration-after-borrowck-error.rs:18:9
54 LL | pub const fn f(mut self, other: T) -> Self {
55 | -------- move occurs because `self` has type `B<T>`, which does not implement the `Copy` trait
56 LL | let _this = self;
57 | ---- value moved here
59 LL | self.0[0] = other;
60 | ^^^^^^^^^ value used here after move
62 error: aborting due to 6 previous errors
64 Some errors have detailed explanations: E0381, E0382, E0493.
65 For more information about an error, try `rustc --explain E0381`.