File tree Expand file tree Collapse file tree 3 files changed +11
-1
lines changed Expand file tree Collapse file tree 3 files changed +11
-1
lines changed Original file line number Diff line number Diff line change @@ -646,7 +646,8 @@ impl<T> Option<T> {
646646 /// ```
647647 #[ inline]
648648 #[ stable( feature = "rust1" , since = "1.0.0" ) ]
649- pub fn as_mut ( & mut self ) -> Option < & mut T > {
649+ #[ rustc_const_unstable( feature = "const_option" , issue = "67441" ) ]
650+ pub const fn as_mut ( & mut self ) -> Option < & mut T > {
650651 match * self {
651652 Some ( ref mut x) => Some ( x) ,
652653 None => None ,
Original file line number Diff line number Diff line change 1010#![ feature( const_assume) ]
1111#![ feature( const_cell_into_inner) ]
1212#![ feature( const_maybe_uninit_assume_init) ]
13+ #![ cfg_attr( bootstrap, feature( const_panic) ) ]
1314#![ feature( const_ptr_read) ]
1415#![ feature( const_ptr_write) ]
1516#![ feature( const_ptr_offset) ]
Original file line number Diff line number Diff line change @@ -380,6 +380,14 @@ const fn option_const_mut() {
380380
381381 let _take = option. take ( ) ;
382382 let _replace = option. replace ( 42 ) ;
383+
384+ {
385+ let as_mut = option. as_mut ( ) ;
386+ match as_mut {
387+ Some ( v) => * v = 32 ,
388+ None => unreachable ! ( ) ,
389+ }
390+ }
383391}
384392
385393#[ test]
You can’t perform that action at this time.
0 commit comments