File tree Expand file tree Collapse file tree 2 files changed +8
-8
lines changed
compiler/rustc_middle/src Expand file tree Collapse file tree 2 files changed +8
-8
lines changed Original file line number Diff line number Diff line change 3333#![ feature( generators) ]
3434#![ feature( get_mut_unchecked) ]
3535#![ feature( if_let_guard) ]
36+ #![ feature( inline_const) ]
3637#![ feature( iter_from_generator) ]
3738#![ feature( local_key_cell_methods) ]
3839#![ feature( negative_impls) ]
Original file line number Diff line number Diff line change 11use crate :: ty;
2- use std:: intrinsics:: type_name;
32use std:: mem:: { size_of, transmute_copy, MaybeUninit } ;
43
54#[ derive( Copy , Clone ) ]
@@ -17,13 +16,13 @@ pub type Erase<T: Copy + EraseType> = Erased<impl Copy>;
1716
1817#[ inline( always) ]
1918pub fn erase < T : EraseType > ( src : T ) -> Erase < T > {
20- assert_eq ! (
21- size_of :: < T > ( ) ,
22- size_of:: <T :: Result >( ) ,
23- "size of {} must match erased type {}" ,
24- type_name :: < T > ( ) ,
25- type_name :: < T :: Result > ( )
26- ) ;
19+ // Ensure the sizes match
20+ const {
21+ if std :: mem :: size_of :: < T > ( ) != std :: mem :: size_of :: < T :: Result > ( ) {
22+ panic ! ( "size of T must match erased type T::Result" )
23+ }
24+ } ;
25+
2726 Erased :: < <T as EraseType >:: Result > {
2827 // SAFETY: Is it safe to transmute to MaybeUninit for types with the same sizes.
2928 data : unsafe { transmute_copy ( & src) } ,
You can’t perform that action at this time.
0 commit comments