Skip to content

Commit f66f6a5

Browse files
committed
models/default_version: Inline find_default_version() fn
This removes the need for the `.cloned()` call, since we can use `.into_iter()` now.
1 parent e460912 commit f66f6a5

File tree

1 file changed

+6
-14
lines changed

1 file changed

+6
-14
lines changed

src/models/default_versions.rs

Lines changed: 6 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -104,6 +104,8 @@ pub fn verify_default_version(crate_id: i32, conn: &mut impl Conn) -> QueryResul
104104
}
105105

106106
fn calculate_default_version(crate_id: i32, conn: &mut impl Conn) -> QueryResult<Version> {
107+
use diesel::result::Error::NotFound;
108+
107109
debug!("Loading all versions for the crate…");
108110
let versions = versions::table
109111
.filter(versions::crate_id.eq(crate_id))
@@ -112,13 +114,7 @@ fn calculate_default_version(crate_id: i32, conn: &mut impl Conn) -> QueryResult
112114

113115
debug!("Found {} versions", versions.len());
114116

115-
find_default_version(&versions)
116-
.cloned()
117-
.ok_or(diesel::result::Error::NotFound)
118-
}
119-
120-
fn find_default_version(versions: &[Version]) -> Option<&Version> {
121-
versions.iter().max()
117+
versions.into_iter().max().ok_or(NotFound)
122118
}
123119

124120
#[cfg(test)]
@@ -136,14 +132,10 @@ mod tests {
136132

137133
#[test]
138134
fn test_find_default_version() {
139-
let check = |versions, expected| {
140-
let default_version = assert_some!(find_default_version(versions));
135+
fn check(versions: &Vec<Version>, expected: &str) {
136+
let default_version = assert_some!(versions.iter().max());
141137
assert_eq!(default_version.num.to_string(), expected);
142-
};
143-
144-
// No versions
145-
let versions = vec![];
146-
assert_none!(find_default_version(&versions));
138+
}
147139

148140
// Only a single version
149141
let versions = vec![v("1.0.0", false)];

0 commit comments

Comments
 (0)