File tree 1 file changed +5
-4
lines changed
1 file changed +5
-4
lines changed Original file line number Diff line number Diff line change @@ -114,7 +114,8 @@ impl<'a> SignatureVerification<'a> {
114
114
instructions_sysvar : & ' a AccountInfo < ' b > ,
115
115
relative_index : i64 ,
116
116
) -> Result < [ SignatureVerification < ' a > ; NUM_VERIFICATIONS ] , SlashingError > {
117
- let mut verifications = [ MaybeUninit :: < SignatureVerification > :: uninit ( ) ; NUM_VERIFICATIONS ] ;
117
+ let mut verifications =
118
+ [ const { MaybeUninit :: < SignatureVerification > :: uninit ( ) } ; NUM_VERIFICATIONS ] ;
118
119
119
120
// Instruction inspection to unpack successful signature verifications
120
121
let current_index = load_current_index_checked ( instructions_sysvar)
@@ -179,9 +180,9 @@ impl<'a> SignatureVerification<'a> {
179
180
offsets. message_data_size as usize ,
180
181
) ?;
181
182
182
- * verification =
183
- MaybeUninit :: new ( SignatureVerification :: new ( pubkey, message, signature) ?) ;
183
+ verification. write ( SignatureVerification :: new ( pubkey, message, signature) ?) ;
184
184
}
185
- unsafe { std:: mem:: transmute_copy ( & verifications) }
185
+ // Replace with `array_assume_init` once stabilized
186
+ Ok ( verifications. map ( |verification| unsafe { verification. assume_init ( ) } ) )
186
187
}
187
188
}
You can’t perform that action at this time.
0 commit comments