@@ -13,7 +13,7 @@ pub(crate) mod module;
1313#[ derive( Debug ) ]
1414pub ( crate ) struct VersionDefinition {
1515 /// Indicates that the container version is deprecated.
16- pub ( crate ) deprecated : bool ,
16+ pub ( crate ) deprecated : Option < String > ,
1717
1818 /// Indicates that the generation of `From<OLD> for NEW` should be skipped.
1919 pub ( crate ) skip_from : bool ,
@@ -38,7 +38,12 @@ impl From<&StandaloneContainerAttributes> for Vec<VersionDefinition> {
3838 . map ( |v| VersionDefinition {
3939 skip_from : v. skip . as_ref ( ) . map_or ( false , |s| s. from . is_present ( ) ) ,
4040 ident : format_ident ! ( "{version}" , version = v. name. to_string( ) ) . into ( ) ,
41- deprecated : v. deprecated . is_present ( ) ,
41+ deprecated : v. deprecated . as_ref ( ) . map ( |r#override| {
42+ r#override. clone ( ) . unwrap_or ( format ! (
43+ "Version {version} is deprecated" ,
44+ version = v. name. to_string( )
45+ ) )
46+ } ) ,
4247 docs : process_docs ( & v. doc ) ,
4348 inner : v. name ,
4449 } )
@@ -55,7 +60,12 @@ impl From<&ModuleAttributes> for Vec<VersionDefinition> {
5560 . map ( |v| VersionDefinition {
5661 skip_from : v. skip . as_ref ( ) . map_or ( false , |s| s. from . is_present ( ) ) ,
5762 ident : format_ident ! ( "{version}" , version = v. name. to_string( ) ) . into ( ) ,
58- deprecated : v. deprecated . is_present ( ) ,
63+ deprecated : v. deprecated . as_ref ( ) . map ( |r#override| {
64+ r#override. clone ( ) . unwrap_or ( format ! (
65+ "Version {version} is deprecated" ,
66+ version = v. name. to_string( )
67+ ) )
68+ } ) ,
5969 docs : process_docs ( & v. doc ) ,
6070 inner : v. name ,
6171 } )
0 commit comments