@@ -373,6 +373,18 @@ impl TomlProfiles {
373
373
#[ derive( Clone , Debug , Eq , PartialEq ) ]
374
374
pub struct TomlOptLevel ( pub String ) ;
375
375
376
+ impl ser:: Serialize for TomlOptLevel {
377
+ fn serialize < S > ( & self , serializer : S ) -> Result < S :: Ok , S :: Error >
378
+ where
379
+ S : ser:: Serializer ,
380
+ {
381
+ match self . 0 . parse :: < u32 > ( ) {
382
+ Ok ( n) => n. serialize ( serializer) ,
383
+ Err ( _) => self . 0 . serialize ( serializer) ,
384
+ }
385
+ }
386
+ }
387
+
376
388
impl < ' de > de:: Deserialize < ' de > for TomlOptLevel {
377
389
fn deserialize < D > ( d : D ) -> Result < TomlOptLevel , D :: Error >
378
390
where
@@ -397,18 +409,6 @@ impl<'de> de::Deserialize<'de> for TomlOptLevel {
397
409
}
398
410
}
399
411
400
- impl ser:: Serialize for TomlOptLevel {
401
- fn serialize < S > ( & self , serializer : S ) -> Result < S :: Ok , S :: Error >
402
- where
403
- S : ser:: Serializer ,
404
- {
405
- match self . 0 . parse :: < u32 > ( ) {
406
- Ok ( n) => n. serialize ( serializer) ,
407
- Err ( _) => self . 0 . serialize ( serializer) ,
408
- }
409
- }
410
- }
411
-
412
412
#[ derive( Copy , Clone , Debug , Eq , PartialEq , Hash , PartialOrd , Ord ) ]
413
413
pub enum TomlDebugInfo {
414
414
None ,
@@ -418,6 +418,18 @@ pub enum TomlDebugInfo {
418
418
Full ,
419
419
}
420
420
421
+ impl Display for TomlDebugInfo {
422
+ fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
423
+ match self {
424
+ TomlDebugInfo :: None => f. write_char ( '0' ) ,
425
+ TomlDebugInfo :: Limited => f. write_char ( '1' ) ,
426
+ TomlDebugInfo :: Full => f. write_char ( '2' ) ,
427
+ TomlDebugInfo :: LineDirectivesOnly => f. write_str ( "line-directives-only" ) ,
428
+ TomlDebugInfo :: LineTablesOnly => f. write_str ( "line-tables-only" ) ,
429
+ }
430
+ }
431
+ }
432
+
421
433
impl ser:: Serialize for TomlDebugInfo {
422
434
fn serialize < S > ( & self , serializer : S ) -> Result < S :: Ok , S :: Error >
423
435
where
@@ -483,18 +495,6 @@ impl<'de> de::Deserialize<'de> for TomlDebugInfo {
483
495
}
484
496
}
485
497
486
- impl Display for TomlDebugInfo {
487
- fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
488
- match self {
489
- TomlDebugInfo :: None => f. write_char ( '0' ) ,
490
- TomlDebugInfo :: Limited => f. write_char ( '1' ) ,
491
- TomlDebugInfo :: Full => f. write_char ( '2' ) ,
492
- TomlDebugInfo :: LineDirectivesOnly => f. write_str ( "line-directives-only" ) ,
493
- TomlDebugInfo :: LineTablesOnly => f. write_str ( "line-tables-only" ) ,
494
- }
495
- }
496
- }
497
-
498
498
#[ derive( Deserialize , Serialize , Clone , Debug , Default , Eq , PartialEq ) ]
499
499
#[ serde( default , rename_all = "kebab-case" ) ]
500
500
pub struct TomlProfile {
@@ -526,6 +526,15 @@ pub enum ProfilePackageSpec {
526
526
All ,
527
527
}
528
528
529
+ impl fmt:: Display for ProfilePackageSpec {
530
+ fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
531
+ match self {
532
+ ProfilePackageSpec :: Spec ( spec) => spec. fmt ( f) ,
533
+ ProfilePackageSpec :: All => f. write_str ( "*" ) ,
534
+ }
535
+ }
536
+ }
537
+
529
538
impl ser:: Serialize for ProfilePackageSpec {
530
539
fn serialize < S > ( & self , s : S ) -> Result < S :: Ok , S :: Error >
531
540
where
@@ -551,15 +560,6 @@ impl<'de> de::Deserialize<'de> for ProfilePackageSpec {
551
560
}
552
561
}
553
562
554
- impl fmt:: Display for ProfilePackageSpec {
555
- fn fmt ( & self , f : & mut fmt:: Formatter < ' _ > ) -> fmt:: Result {
556
- match self {
557
- ProfilePackageSpec :: Spec ( spec) => spec. fmt ( f) ,
558
- ProfilePackageSpec :: All => f. write_str ( "*" ) ,
559
- }
560
- }
561
- }
562
-
563
563
impl TomlProfile {
564
564
/// Checks stytax validity and unstable feature gate for a given profile.
565
565
pub fn validate (
@@ -3255,21 +3255,21 @@ struct TomlTarget {
3255
3255
#[ derive( Clone ) ]
3256
3256
struct PathValue ( PathBuf ) ;
3257
3257
3258
- impl < ' de > de :: Deserialize < ' de > for PathValue {
3259
- fn deserialize < D > ( deserializer : D ) -> Result < Self , D :: Error >
3258
+ impl ser :: Serialize for PathValue {
3259
+ fn serialize < S > ( & self , serializer : S ) -> Result < S :: Ok , S :: Error >
3260
3260
where
3261
- D : de :: Deserializer < ' de > ,
3261
+ S : ser :: Serializer ,
3262
3262
{
3263
- Ok ( PathValue ( String :: deserialize ( deserializer ) ? . into ( ) ) )
3263
+ self . 0 . serialize ( serializer )
3264
3264
}
3265
3265
}
3266
3266
3267
- impl ser :: Serialize for PathValue {
3268
- fn serialize < S > ( & self , serializer : S ) -> Result < S :: Ok , S :: Error >
3267
+ impl < ' de > de :: Deserialize < ' de > for PathValue {
3268
+ fn deserialize < D > ( deserializer : D ) -> Result < Self , D :: Error >
3269
3269
where
3270
- S : ser :: Serializer ,
3270
+ D : de :: Deserializer < ' de > ,
3271
3271
{
3272
- self . 0 . serialize ( serializer )
3272
+ Ok ( PathValue ( String :: deserialize ( deserializer ) ? . into ( ) ) )
3273
3273
}
3274
3274
}
3275
3275
0 commit comments