Skip to content

Commit 3449215

Browse files
authored
views/krate_publish: Reorder file contents (#7207)
Having the `impl` blocks so far away from the structs was very confusing. This change ensures that it is harder to miss them.
1 parent c1ce4b5 commit 3449215

File tree

1 file changed

+36
-29
lines changed

1 file changed

+36
-29
lines changed

src/views/krate_publish.rs

Lines changed: 36 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@
44
//! integration tests.
55
use std::collections::BTreeMap;
66

7+
use diesel::pg::Pg;
8+
use diesel::serialize::{self, Output, ToSql};
9+
use diesel::sql_types::Text;
710
use serde::{de, Deserialize, Deserializer, Serialize};
811

912
use crate::models::krate::MAX_NAME_LENGTH;
@@ -26,25 +29,6 @@ pub struct PublishMetadata {
2629
pub categories: EncodableCategoryList,
2730
}
2831

29-
#[derive(PartialEq, Eq, Hash, Serialize, Clone, Debug, Deref)]
30-
pub struct EncodableCrateName(pub String);
31-
#[derive(Serialize, Clone, Debug, Deref)]
32-
pub struct EncodableDependencyName(pub String);
33-
#[derive(Serialize, Debug, Deref)]
34-
pub struct EncodableCrateVersion(pub semver::Version);
35-
#[derive(Serialize, Clone, Debug, Deref)]
36-
pub struct EncodableCrateVersionReq(pub String);
37-
#[derive(Serialize, Debug, Deref, Default)]
38-
pub struct EncodableKeywordList(pub Vec<EncodableKeyword>);
39-
#[derive(Serialize, Debug, Deref)]
40-
pub struct EncodableKeyword(pub String);
41-
#[derive(Serialize, Debug, Deref, Default)]
42-
pub struct EncodableCategoryList(pub Vec<String>);
43-
#[derive(Serialize, Clone, Debug, Deref)]
44-
pub struct EncodableFeature(pub String);
45-
#[derive(PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Clone, Debug, Deref)]
46-
pub struct EncodableFeatureName(pub String);
47-
4832
#[derive(Serialize, Deserialize, Clone, Debug)]
4933
pub struct EncodableCrateDependency {
5034
pub optional: bool,
@@ -58,6 +42,9 @@ pub struct EncodableCrateDependency {
5842
pub registry: Option<String>,
5943
}
6044

45+
#[derive(PartialEq, Eq, Hash, Serialize, Clone, Debug, Deref)]
46+
pub struct EncodableCrateName(pub String);
47+
6148
impl<'de> Deserialize<'de> for EncodableCrateName {
6249
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableCrateName, D::Error> {
6350
let s = String::deserialize(d)?;
@@ -83,6 +70,9 @@ where
8370
}
8471
}
8572

73+
#[derive(Serialize, Clone, Debug, Deref)]
74+
pub struct EncodableDependencyName(pub String);
75+
8676
impl<'de> Deserialize<'de> for EncodableDependencyName {
8777
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableDependencyName, D::Error> {
8878
let s = String::deserialize(d)?;
@@ -99,6 +89,9 @@ impl<'de> Deserialize<'de> for EncodableDependencyName {
9989
}
10090
}
10191

92+
#[derive(Serialize, Debug, Deref)]
93+
pub struct EncodableKeyword(pub String);
94+
10295
impl<'de> Deserialize<'de> for EncodableKeyword {
10396
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableKeyword, D::Error> {
10497
let s = String::deserialize(d)?;
@@ -115,6 +108,9 @@ impl<'de> Deserialize<'de> for EncodableKeyword {
115108
}
116109
}
117110

111+
#[derive(PartialEq, Eq, PartialOrd, Ord, Hash, Serialize, Clone, Debug, Deref)]
112+
pub struct EncodableFeatureName(pub String);
113+
118114
impl<'de> Deserialize<'de> for EncodableFeatureName {
119115
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<Self, D::Error> {
120116
let s = String::deserialize(d)?;
@@ -129,6 +125,9 @@ impl<'de> Deserialize<'de> for EncodableFeatureName {
129125
}
130126
}
131127

128+
#[derive(Serialize, Clone, Debug, Deref)]
129+
pub struct EncodableFeature(pub String);
130+
132131
impl<'de> Deserialize<'de> for EncodableFeature {
133132
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableFeature, D::Error> {
134133
let s = String::deserialize(d)?;
@@ -142,6 +141,15 @@ impl<'de> Deserialize<'de> for EncodableFeature {
142141
}
143142
}
144143

144+
impl ToSql<Text, Pg> for EncodableFeature {
145+
fn to_sql(&self, out: &mut Output<'_, '_, Pg>) -> serialize::Result {
146+
ToSql::<Text, Pg>::to_sql(&**self, &mut out.reborrow())
147+
}
148+
}
149+
150+
#[derive(Serialize, Debug, Deref)]
151+
pub struct EncodableCrateVersion(pub semver::Version);
152+
145153
impl<'de> Deserialize<'de> for EncodableCrateVersion {
146154
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableCrateVersion, D::Error> {
147155
let s = String::deserialize(d)?;
@@ -156,6 +164,9 @@ impl<'de> Deserialize<'de> for EncodableCrateVersion {
156164
}
157165
}
158166

167+
#[derive(Serialize, Clone, Debug, Deref)]
168+
pub struct EncodableCrateVersionReq(pub String);
169+
159170
impl<'de> Deserialize<'de> for EncodableCrateVersionReq {
160171
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableCrateVersionReq, D::Error> {
161172
let s = String::deserialize(d)?;
@@ -170,6 +181,9 @@ impl<'de> Deserialize<'de> for EncodableCrateVersionReq {
170181
}
171182
}
172183

184+
#[derive(Serialize, Debug, Deref, Default)]
185+
pub struct EncodableKeywordList(pub Vec<EncodableKeyword>);
186+
173187
impl<'de> Deserialize<'de> for EncodableKeywordList {
174188
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableKeywordList, D::Error> {
175189
let inner = <Vec<EncodableKeyword> as Deserialize<'de>>::deserialize(d)?;
@@ -181,6 +195,9 @@ impl<'de> Deserialize<'de> for EncodableKeywordList {
181195
}
182196
}
183197

198+
#[derive(Serialize, Debug, Deref, Default)]
199+
pub struct EncodableCategoryList(pub Vec<String>);
200+
184201
impl<'de> Deserialize<'de> for EncodableCategoryList {
185202
fn deserialize<D: Deserializer<'de>>(d: D) -> Result<EncodableCategoryList, D::Error> {
186203
let inner = <Vec<String> as Deserialize<'de>>::deserialize(d)?;
@@ -193,16 +210,6 @@ impl<'de> Deserialize<'de> for EncodableCategoryList {
193210
}
194211
}
195212

196-
use diesel::pg::Pg;
197-
use diesel::serialize::{self, Output, ToSql};
198-
use diesel::sql_types::Text;
199-
200-
impl ToSql<Text, Pg> for EncodableFeature {
201-
fn to_sql(&self, out: &mut Output<'_, '_, Pg>) -> serialize::Result {
202-
ToSql::<Text, Pg>::to_sql(&**self, &mut out.reborrow())
203-
}
204-
}
205-
206213
#[test]
207214
fn feature_deserializes_for_valid_features() {
208215
use serde_json as json;

0 commit comments

Comments
 (0)