File tree 2 files changed +6
-17
lines changed
2 files changed +6
-17
lines changed Original file line number Diff line number Diff line change
1
+ // error-pattern: any use of this value will cause an error
2
+
1
3
#![ feature( never_type) ]
2
4
#![ feature( const_maybe_uninit_assume_init) ]
3
5
6
+ #[ allow( invalid_value) ]
4
7
fn main ( ) {
5
8
use std:: mem:: MaybeUninit ;
6
9
7
10
const _BAD: ( ) = unsafe {
8
11
MaybeUninit :: < !> :: uninit ( ) . assume_init ( ) ;
9
- //~^ WARN: the type `!` does not permit being left uninitialized
10
12
} ;
11
13
}
Original file line number Diff line number Diff line change @@ -6,29 +6,16 @@ LL | intrinsics::assert_inhabited::<T>();
6
6
| |
7
7
| attempted to instantiate uninhabited type `!`
8
8
| inside `MaybeUninit::<!>::assume_init` at $SRC_DIR/core/src/mem/maybe_uninit.rs:LL:COL
9
- | inside `_BAD` at $DIR/assume-type-intrinsics.rs:8 :9
9
+ | inside `_BAD` at $DIR/assume-type-intrinsics.rs:11 :9
10
10
|
11
- ::: $DIR/assume-type-intrinsics.rs:7 :5
11
+ ::: $DIR/assume-type-intrinsics.rs:10 :5
12
12
|
13
13
LL | / const _BAD: () = unsafe {
14
14
LL | | MaybeUninit::<!>::uninit().assume_init();
15
- LL | |
16
15
LL | | };
17
16
| |______-
18
17
|
19
18
= note: `#[deny(const_err)]` on by default
20
19
21
- warning: the type `!` does not permit being left uninitialized
22
- --> $DIR/assume-type-intrinsics.rs:8:9
23
- |
24
- LL | MaybeUninit::<!>::uninit().assume_init();
25
- | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
26
- | |
27
- | this code causes undefined behavior when executed
28
- | help: use `MaybeUninit<T>` instead, and only call `assume_init` after initialization is done
29
- |
30
- = note: `#[warn(invalid_value)]` on by default
31
- = note: the `!` type has no valid value
32
-
33
- error: aborting due to previous error; 1 warning emitted
20
+ error: aborting due to previous error
34
21
You can’t perform that action at this time.
0 commit comments