@@ -13,7 +13,6 @@ use crate::models::krate::MAX_NAME_LENGTH;
13
13
14
14
use crate :: models:: Crate ;
15
15
use crate :: models:: DependencyKind ;
16
- use crate :: models:: Keyword as CrateKeyword ;
17
16
18
17
#[ derive( Deserialize , Serialize , Debug ) ]
19
18
pub struct PublishMetadata {
@@ -23,8 +22,6 @@ pub struct PublishMetadata {
23
22
pub features : BTreeMap < EncodableFeatureName , Vec < EncodableFeature > > ,
24
23
pub readme : Option < String > ,
25
24
pub readme_file : Option < String > ,
26
- #[ serde( default ) ]
27
- pub keywords : EncodableKeywordList ,
28
25
}
29
26
30
27
#[ derive( Serialize , Deserialize , Clone , Debug ) ]
@@ -87,25 +84,6 @@ impl<'de> Deserialize<'de> for EncodableDependencyName {
87
84
}
88
85
}
89
86
90
- #[ derive( Serialize , Debug , Deref ) ]
91
- pub struct EncodableKeyword ( pub String ) ;
92
-
93
- impl < ' de > Deserialize < ' de > for EncodableKeyword {
94
- fn deserialize < D : Deserializer < ' de > > ( d : D ) -> Result < EncodableKeyword , D :: Error > {
95
- let s = String :: deserialize ( d) ?;
96
- if s. len ( ) > 20 {
97
- let expected = "a keyword with less than 20 characters" ;
98
- Err ( de:: Error :: invalid_length ( s. len ( ) , & expected) )
99
- } else if !CrateKeyword :: valid_name ( & s) {
100
- let value = de:: Unexpected :: Str ( & s) ;
101
- let expected = "a valid keyword specifier" ;
102
- Err ( de:: Error :: invalid_value ( value, & expected) )
103
- } else {
104
- Ok ( EncodableKeyword ( s) )
105
- }
106
- }
107
- }
108
-
109
87
#[ derive( PartialEq , Eq , PartialOrd , Ord , Hash , Serialize , Clone , Debug , Deref ) ]
110
88
pub struct EncodableFeatureName ( pub String ) ;
111
89
@@ -179,20 +157,6 @@ impl<'de> Deserialize<'de> for EncodableCrateVersionReq {
179
157
}
180
158
}
181
159
182
- #[ derive( Serialize , Debug , Deref , Default ) ]
183
- pub struct EncodableKeywordList ( pub Vec < EncodableKeyword > ) ;
184
-
185
- impl < ' de > Deserialize < ' de > for EncodableKeywordList {
186
- fn deserialize < D : Deserializer < ' de > > ( d : D ) -> Result < EncodableKeywordList , D :: Error > {
187
- let inner = <Vec < EncodableKeyword > as Deserialize < ' de > >:: deserialize ( d) ?;
188
- if inner. len ( ) > 5 {
189
- let expected = "at most 5 keywords per crate" ;
190
- return Err ( de:: Error :: invalid_length ( inner. len ( ) , & expected) ) ;
191
- }
192
- Ok ( EncodableKeywordList ( inner) )
193
- }
194
- }
195
-
196
160
#[ test]
197
161
fn feature_deserializes_for_valid_features ( ) {
198
162
use serde_json as json;
0 commit comments