@@ -82,11 +82,11 @@ impl<'a> TryFrom<&'a str> for Extension {
8282 "v" => Ok ( Extension :: V ) ,
8383 "h" => Ok ( Extension :: H ) ,
8484 _ => {
85- if value. starts_with ( 'Z ' ) {
85+ if value. starts_with ( 'z ' ) {
8686 Ok ( Extension :: Z ( value. to_string ( ) ) )
87- } else if value. starts_with ( 'S ' ) {
87+ } else if value. starts_with ( 's ' ) {
8888 Ok ( Extension :: S ( value. to_string ( ) ) )
89- } else if value. starts_with ( 'X ' ) {
89+ } else if value. starts_with ( 'x ' ) {
9090 Ok ( Extension :: X ( value. to_string ( ) ) )
9191 } else {
9292 Err ( Self :: Error :: UnknownExtension ( value) )
@@ -163,7 +163,7 @@ impl<'a> TryFrom<&'a str> for Extensions {
163163
164164 while !value. is_empty ( ) {
165165 let extension =
166- if value. starts_with ( "Z " ) || value. starts_with ( "S " ) || value. starts_with ( "X " ) {
166+ if value. starts_with ( "z " ) || value. starts_with ( "s " ) || value. starts_with ( "x " ) {
167167 match value. find ( '_' ) {
168168 Some ( pos) => {
169169 let ( ext, _) = value. split_at ( pos) ;
@@ -239,16 +239,16 @@ mod test {
239239 assert_eq ! ( Extension :: try_from( "v" ) , Ok ( Extension :: V ) ) ;
240240 assert_eq ! ( Extension :: try_from( "h" ) , Ok ( Extension :: H ) ) ;
241241 assert_eq ! (
242- Extension :: try_from( "Zicsr " ) ,
243- Ok ( Extension :: Z ( "Zicsr " . to_string( ) ) )
242+ Extension :: try_from( "zicsr " ) ,
243+ Ok ( Extension :: Z ( "zicsr " . to_string( ) ) )
244244 ) ;
245245 assert_eq ! (
246- Extension :: try_from( "Ssccfg " ) ,
247- Ok ( Extension :: S ( "Ssccfg " . to_string( ) ) )
246+ Extension :: try_from( "ssccfg " ) ,
247+ Ok ( Extension :: S ( "ssccfg " . to_string( ) ) )
248248 ) ;
249249 assert_eq ! (
250- Extension :: try_from( "XSifivecdiscarddlone " ) ,
251- Ok ( Extension :: X ( "XSifivecdiscarddlone " . to_string( ) ) )
250+ Extension :: try_from( "xsifivecdiscarddlone " ) ,
251+ Ok ( Extension :: X ( "xsifivecdiscarddlone " . to_string( ) ) )
252252 ) ;
253253 assert_eq ! (
254254 Extension :: try_from( "unknown" ) ,
@@ -270,11 +270,11 @@ mod test {
270270 assert_eq ! ( Extension :: P . to_string( ) , "p" ) ;
271271 assert_eq ! ( Extension :: V . to_string( ) , "v" ) ;
272272 assert_eq ! ( Extension :: H . to_string( ) , "h" ) ;
273- assert_eq ! ( Extension :: Z ( "Zicsr " . to_string( ) ) . to_string( ) , "Zicsr " ) ;
274- assert_eq ! ( Extension :: S ( "Ssccfg " . to_string( ) ) . to_string( ) , "Ssccfg " ) ;
273+ assert_eq ! ( Extension :: Z ( "zicsr " . to_string( ) ) . to_string( ) , "zicsr " ) ;
274+ assert_eq ! ( Extension :: S ( "ssccfg " . to_string( ) ) . to_string( ) , "ssccfg " ) ;
275275 assert_eq ! (
276- Extension :: X ( "XSifivecdiscarddlone " . to_string( ) ) . to_string( ) ,
277- "XSifivecdiscarddlone "
276+ Extension :: X ( "xsifivecdiscarddlone " . to_string( ) ) . to_string( ) ,
277+ "xsifivecdiscarddlone "
278278 ) ;
279279 }
280280
@@ -292,9 +292,9 @@ mod test {
292292 Extension :: P ,
293293 Extension :: V ,
294294 Extension :: H ,
295- Extension :: Z ( "Zicsr " . to_string( ) ) ,
296- Extension :: S ( "Ssccfg " . to_string( ) ) ,
297- Extension :: X ( "XSifivecdiscarddlone " . to_string( ) ) ,
295+ Extension :: Z ( "zicsr " . to_string( ) ) ,
296+ Extension :: S ( "ssccfg " . to_string( ) ) ,
297+ Extension :: X ( "xsifivecdiscarddlone " . to_string( ) ) ,
298298 ] ;
299299 extensions. reverse ( ) ;
300300 extensions. sort ( ) ;
@@ -312,9 +312,9 @@ mod test {
312312 Extension :: P ,
313313 Extension :: V ,
314314 Extension :: H ,
315- Extension :: Z ( "Zicsr " . to_string( ) ) ,
316- Extension :: S ( "Ssccfg " . to_string( ) ) ,
317- Extension :: X ( "XSifivecdiscarddlone " . to_string( ) ) ,
315+ Extension :: Z ( "zicsr " . to_string( ) ) ,
316+ Extension :: S ( "ssccfg " . to_string( ) ) ,
317+ Extension :: X ( "xsifivecdiscarddlone " . to_string( ) ) ,
318318 ]
319319 ) ;
320320 }
@@ -328,11 +328,11 @@ mod test {
328328 assert ! ( extensions. base_extension( ) . is_none( ) ) ;
329329
330330 try_extensions =
331- Extensions :: try_from ( "giemafdqcbpvhXSifivecdiscarddlone_Ssccfg_Zicsr_Zaamo_u " ) ;
331+ Extensions :: try_from ( "giemafdqcbpvhxsifivecdiscarddlone_ssccfg_zicsr_zaamo_u " ) ;
332332 assert ! ( try_extensions. is_err( ) ) ;
333333 assert_eq ! ( try_extensions, Err ( Error :: UnknownExtension ( "u" ) ) ) ;
334334
335- try_extensions = Extensions :: try_from ( "geqcbpvhXSifivecdiscarddlone_Ssccfg_Zicsr_Zaamo_ " ) ;
335+ try_extensions = Extensions :: try_from ( "geqcbpvhxsifivecdiscarddlone_ssccfg_zicsr_zaamo_ " ) ;
336336 assert ! ( try_extensions. is_ok( ) ) ;
337337 extensions = try_extensions. unwrap ( ) ;
338338 assert_eq ! (
@@ -350,16 +350,16 @@ mod test {
350350 Extension :: P ,
351351 Extension :: V ,
352352 Extension :: H ,
353- Extension :: Z ( "Zaamo " . to_string( ) ) ,
354- Extension :: Z ( "Zicsr " . to_string( ) ) ,
355- Extension :: S ( "Ssccfg " . to_string( ) ) ,
356- Extension :: X ( "XSifivecdiscarddlone " . to_string( ) ) ,
353+ Extension :: Z ( "zaamo " . to_string( ) ) ,
354+ Extension :: Z ( "zicsr " . to_string( ) ) ,
355+ Extension :: S ( "ssccfg " . to_string( ) ) ,
356+ Extension :: X ( "xsifivecdiscarddlone " . to_string( ) ) ,
357357 ]
358358 ) ;
359359 assert_eq ! ( extensions. base_extension( ) , Some ( Extension :: I ) ) ;
360360
361361 try_extensions =
362- Extensions :: try_from ( "iemafdqcbpvhXSifivecdiscarddlone_Ssccfg_Zicsr_Zaamo_ " ) ;
362+ Extensions :: try_from ( "iemafdqcbpvhxsifivecdiscarddlone_ssccfg_zicsr_zaamo_ " ) ;
363363 assert ! ( try_extensions. is_ok( ) ) ;
364364 extensions = try_extensions. unwrap ( ) ;
365365 assert_eq ! (
@@ -377,16 +377,16 @@ mod test {
377377 Extension :: P ,
378378 Extension :: V ,
379379 Extension :: H ,
380- Extension :: Z ( "Zaamo " . to_string( ) ) ,
381- Extension :: Z ( "Zicsr " . to_string( ) ) ,
382- Extension :: S ( "Ssccfg " . to_string( ) ) ,
383- Extension :: X ( "XSifivecdiscarddlone " . to_string( ) ) ,
380+ Extension :: Z ( "zaamo " . to_string( ) ) ,
381+ Extension :: Z ( "zicsr " . to_string( ) ) ,
382+ Extension :: S ( "ssccfg " . to_string( ) ) ,
383+ Extension :: X ( "xsifivecdiscarddlone " . to_string( ) ) ,
384384 ]
385385 ) ;
386386 assert_eq ! ( extensions. base_extension( ) , Some ( Extension :: I ) ) ;
387387
388388 try_extensions =
389- Extensions :: try_from ( "emafdqcbpvhXSifivecdiscarddlone_Ssccfg_Zicsr_Zaamo_ " ) ;
389+ Extensions :: try_from ( "emafdqcbpvhxsifivecdiscarddlone_ssccfg_zicsr_zaamo_ " ) ;
390390 assert ! ( try_extensions. is_ok( ) ) ;
391391 extensions = try_extensions. unwrap ( ) ;
392392 assert_eq ! (
@@ -403,10 +403,10 @@ mod test {
403403 Extension :: P ,
404404 Extension :: V ,
405405 Extension :: H ,
406- Extension :: Z ( "Zaamo " . to_string( ) ) ,
407- Extension :: Z ( "Zicsr " . to_string( ) ) ,
408- Extension :: S ( "Ssccfg " . to_string( ) ) ,
409- Extension :: X ( "XSifivecdiscarddlone " . to_string( ) ) ,
406+ Extension :: Z ( "zaamo " . to_string( ) ) ,
407+ Extension :: Z ( "zicsr " . to_string( ) ) ,
408+ Extension :: S ( "ssccfg " . to_string( ) ) ,
409+ Extension :: X ( "xsifivecdiscarddlone " . to_string( ) ) ,
410410 ]
411411 ) ;
412412 assert_eq ! ( extensions. base_extension( ) , Some ( Extension :: E ) ) ;
@@ -452,43 +452,43 @@ mod test {
452452 let mut extensions = Extensions :: try_from ( "imafdc" ) . unwrap ( ) ;
453453 assert_eq ! ( extensions. to_string( ) , "gc" ) ;
454454
455- extensions. insert ( Extension :: try_from ( "Ssccfg " ) . unwrap ( ) ) ;
456- assert_eq ! ( extensions. to_string( ) , "gcSsccfg " ) ;
455+ extensions. insert ( Extension :: try_from ( "ssccfg " ) . unwrap ( ) ) ;
456+ assert_eq ! ( extensions. to_string( ) , "gcssccfg " ) ;
457457
458- extensions. insert ( Extension :: try_from ( "Zicsr " ) . unwrap ( ) ) ;
459- assert_eq ! ( extensions. to_string( ) , "gcZicsr_Ssccfg " ) ;
458+ extensions. insert ( Extension :: try_from ( "zicsr " ) . unwrap ( ) ) ;
459+ assert_eq ! ( extensions. to_string( ) , "gczicsr_ssccfg " ) ;
460460
461- extensions. insert ( Extension :: try_from ( "Zaamo " ) . unwrap ( ) ) ;
462- assert_eq ! ( extensions. to_string( ) , "gcZaamo_Zicsr_Ssccfg " ) ;
461+ extensions. insert ( Extension :: try_from ( "zaamo " ) . unwrap ( ) ) ;
462+ assert_eq ! ( extensions. to_string( ) , "gczaamo_zicsr_ssccfg " ) ;
463463
464- extensions. insert ( Extension :: try_from ( "XSifivecdiscarddlone " ) . unwrap ( ) ) ;
464+ extensions. insert ( Extension :: try_from ( "xsifivecdiscarddlone " ) . unwrap ( ) ) ;
465465 assert_eq ! (
466466 extensions. to_string( ) ,
467- "gcZaamo_Zicsr_Ssccfg_XSifivecdiscarddlone "
467+ "gczaamo_zicsr_ssccfg_xsifivecdiscarddlone "
468468 ) ;
469469
470470 extensions. insert ( Extension :: try_from ( "e" ) . unwrap ( ) ) ;
471471 assert_eq ! (
472472 extensions. to_string( ) ,
473- "gecZaamo_Zicsr_Ssccfg_XSifivecdiscarddlone "
473+ "geczaamo_zicsr_ssccfg_xsifivecdiscarddlone "
474474 ) ;
475475
476476 extensions. remove ( & Extension :: I ) ;
477477 assert_eq ! (
478478 extensions. to_string( ) ,
479- "emafdcZaamo_Zicsr_Ssccfg_XSifivecdiscarddlone "
479+ "emafdczaamo_zicsr_ssccfg_xsifivecdiscarddlone "
480480 ) ;
481481
482482 extensions. remove ( & Extension :: E ) ;
483483 assert_eq ! (
484484 extensions. to_string( ) ,
485- "mafdcZaamo_Zicsr_Ssccfg_XSifivecdiscarddlone "
485+ "mafdczaamo_zicsr_ssccfg_xsifivecdiscarddlone "
486486 ) ;
487487
488488 extensions. insert ( Extension :: I ) ;
489489 assert_eq ! (
490490 extensions. to_string( ) ,
491- "gcZaamo_Zicsr_Ssccfg_XSifivecdiscarddlone "
491+ "gczaamo_zicsr_ssccfg_xsifivecdiscarddlone "
492492 ) ;
493493 }
494494}
0 commit comments