@@ -17,7 +17,7 @@ use sway_core::{
1717 ty:: { TyExpression , TyStorageField , TyStructDecl } ,
1818 CallPath ,
1919 } ,
20- Engines , GenericArgument , TypeId , TypeInfo , TypeParameter ,
20+ Engines , TypeId , TypeInfo , TypeParameter ,
2121} ;
2222use sway_error:: formatting:: { plural_s, sequence_to_str, Enclosing } ;
2323use sway_types:: Spanned ;
@@ -203,10 +203,8 @@ fn review_existing_usages_of_storage_map_sha256_and_keccak256(
203203 TypeInfo :: Enum ( decl_id) => {
204204 let enum_decl = engines. de ( ) . get_enum ( decl_id) ;
205205 for variant in enum_decl. variants . iter ( ) {
206- if let GenericArgument :: Type ( ta) = & variant. type_argument {
207- if let Some ( is_affected) = is_affected_type_impl ( visitor, engines, original_type_name, ta. type_id , depth + 1 ) {
208- return Some ( is_affected) ;
209- }
206+ if let Some ( is_affected) = is_affected_type_impl ( visitor, engines, original_type_name, variant. type_argument . type_id , depth + 1 ) {
207+ return Some ( is_affected) ;
210208 }
211209 }
212210 None
@@ -219,21 +217,17 @@ fn review_existing_usages_of_storage_map_sha256_and_keccak256(
219217 review_affected_type ( original_type_name, & engines. help_out ( type_id) . to_string ( ) , depth)
220218 } else {
221219 for field in struct_decl. fields . iter ( ) {
222- if let GenericArgument :: Type ( ta) = & field. type_argument {
223- if let Some ( is_affected) = is_affected_type_impl ( visitor, engines, original_type_name, ta. type_id , depth + 1 ) {
224- return Some ( is_affected) ;
225- }
220+ if let Some ( is_affected) = is_affected_type_impl ( visitor, engines, original_type_name, field. type_argument . type_id , depth + 1 ) {
221+ return Some ( is_affected) ;
226222 }
227223 }
228224 None
229225 }
230226 } ,
231227 TypeInfo :: Tuple ( generic_arguments) => {
232228 for generic_argument in generic_arguments. iter ( ) {
233- if let GenericArgument :: Type ( ta) = generic_argument {
234- if let Some ( is_affected) = is_affected_type_impl ( visitor, engines, original_type_name, ta. type_id , depth + 1 ) {
235- return Some ( is_affected) ;
236- }
229+ if let Some ( is_affected) = is_affected_type_impl ( visitor, engines, original_type_name, generic_argument. type_id , depth + 1 ) {
230+ return Some ( is_affected) ;
237231 }
238232 }
239233 None
@@ -246,11 +240,7 @@ fn review_existing_usages_of_storage_map_sha256_and_keccak256(
246240 // Still, we will handle the type itself, to be on the safe side.
247241 | TypeInfo :: Slice ( generic_argument)
248242 | TypeInfo :: Alias { ty : generic_argument, .. }
249- | TypeInfo :: Ref { referenced_type : generic_argument, .. } => match generic_argument {
250- GenericArgument :: Type ( ta) => is_affected_type_impl ( visitor, engines, original_type_name, ta. type_id , depth + 1 ) ,
251- GenericArgument :: Const ( _) => None ,
252- } ,
253-
243+ | TypeInfo :: Ref { referenced_type : generic_argument, .. } => is_affected_type_impl ( visitor, engines, original_type_name, generic_argument. type_id , depth + 1 ) ,
254244 // Trait type.
255245 TypeInfo :: TraitType { implemented_in, .. } => is_affected_type_impl ( visitor, engines, original_type_name, * implemented_in, depth + 1 ) ,
256246 }
@@ -597,12 +587,7 @@ fn review_existing_usages_of_storage_map_sha256_and_keccak256(
597587 ty_storage_field : Option < & TyStorageField > ,
598588 output : & mut Vec < Occurrence > ,
599589 ) -> Result < InvalidateTypedElement > {
600- if let Some ( ty_field_type) = ty_storage_field. and_then ( |ty_storage_field| {
601- match & ty_storage_field. type_argument {
602- GenericArgument :: Type ( ty) => Some ( ty. type_id ) ,
603- GenericArgument :: Const ( _) => None ,
604- }
605- } ) {
590+ if let Some ( ty_field_type) = ty_storage_field. map ( |x| x. type_argument . type_id ) {
606591 let Some ( help_message) =
607592 self . is_affected_storage_field_type ( ctx. engines , ty_field_type)
608593 else {
0 commit comments