868de8e76b
This fixes some THIR unsafety checking errors not being emitted for let expressions in these situations.
84 lines
3.1 KiB
Plaintext
84 lines
3.1 KiB
Plaintext
error[E0133]: access to union field is unsafe and requires unsafe function or block
|
|
--> $DIR/union-unsafe.rs:34:5
|
|
|
|
|
LL | *(u.p) = 13;
|
|
| ^^^^^^^^^^^ access to union field
|
|
|
|
|
= note: the field may not be properly initialized: using uninitialized data will cause undefined behavior
|
|
|
|
error[E0133]: access to union field is unsafe and requires unsafe function or block
|
|
--> $DIR/union-unsafe.rs:47:6
|
|
|
|
|
LL | *u3.a = T::default();
|
|
| ^^^^ access to union field
|
|
|
|
|
= note: the field may not be properly initialized: using uninitialized data will cause undefined behavior
|
|
|
|
error[E0133]: access to union field is unsafe and requires unsafe function or block
|
|
--> $DIR/union-unsafe.rs:53:6
|
|
|
|
|
LL | *u3.a = T::default();
|
|
| ^^^^ access to union field
|
|
|
|
|
= note: the field may not be properly initialized: using uninitialized data will cause undefined behavior
|
|
|
|
error[E0133]: access to union field is unsafe and requires unsafe function or block
|
|
--> $DIR/union-unsafe.rs:61:13
|
|
|
|
|
LL | let a = u1.a;
|
|
| ^^^^ access to union field
|
|
|
|
|
= note: the field may not be properly initialized: using uninitialized data will cause undefined behavior
|
|
|
|
error[E0133]: access to union field is unsafe and requires unsafe function or block
|
|
--> $DIR/union-unsafe.rs:64:14
|
|
|
|
|
LL | let U1 { a } = u1;
|
|
| ^ access to union field
|
|
|
|
|
= note: the field may not be properly initialized: using uninitialized data will cause undefined behavior
|
|
|
|
error[E0133]: access to union field is unsafe and requires unsafe function or block
|
|
--> $DIR/union-unsafe.rs:65:12
|
|
|
|
|
LL | if let U1 { a: 12 } = u1 {}
|
|
| ^^^^^^^^^^^^ access to union field
|
|
|
|
|
= note: the field may not be properly initialized: using uninitialized data will cause undefined behavior
|
|
|
|
error[E0133]: access to union field is unsafe and requires unsafe function or block
|
|
--> $DIR/union-unsafe.rs:66:12
|
|
|
|
|
LL | if let Some(U1 { a: 13 }) = Some(u1) {}
|
|
| ^^^^^^^^^^^^^^^^^^ access to union field
|
|
|
|
|
= note: the field may not be properly initialized: using uninitialized data will cause undefined behavior
|
|
|
|
error[E0133]: access to union field is unsafe and requires unsafe function or block
|
|
--> $DIR/union-unsafe.rs:71:6
|
|
|
|
|
LL | *u2.a = String::from("new");
|
|
| ^^^^ access to union field
|
|
|
|
|
= note: the field may not be properly initialized: using uninitialized data will cause undefined behavior
|
|
|
|
error[E0133]: access to union field is unsafe and requires unsafe function or block
|
|
--> $DIR/union-unsafe.rs:75:6
|
|
|
|
|
LL | *u3.a = 1;
|
|
| ^^^^ access to union field
|
|
|
|
|
= note: the field may not be properly initialized: using uninitialized data will cause undefined behavior
|
|
|
|
error[E0133]: access to union field is unsafe and requires unsafe function or block
|
|
--> $DIR/union-unsafe.rs:79:6
|
|
|
|
|
LL | *u3.a = String::from("new");
|
|
| ^^^^ access to union field
|
|
|
|
|
= note: the field may not be properly initialized: using uninitialized data will cause undefined behavior
|
|
|
|
error: aborting due to 10 previous errors
|
|
|
|
For more information about this error, try `rustc --explain E0133`.
|