Skip to content

Commit 7351390

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 2a3f187 commit 7351390

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
@@ -108,6 +108,8 @@ pub fn verify_default_version(crate_id: i32, conn: &mut impl Conn) -> QueryResul
108108
}
109109

110110
fn calculate_default_version(crate_id: i32, conn: &mut impl Conn) -> QueryResult<Version> {
111+
use diesel::result::Error::NotFound;
112+
111113
debug!("Loading all versions for the crate…");
112114
let versions = versions::table
113115
.filter(versions::crate_id.eq(crate_id))
@@ -116,13 +118,7 @@ fn calculate_default_version(crate_id: i32, conn: &mut impl Conn) -> QueryResult
116118

117119
debug!("Found {} versions", versions.len());
118120

119-
find_default_version(&versions)
120-
.cloned()
121-
.ok_or(diesel::result::Error::NotFound)
122-
}
123-
124-
fn find_default_version(versions: &[Version]) -> Option<&Version> {
125-
versions.iter().max()
121+
versions.into_iter().max().ok_or(NotFound)
126122
}
127123

128124
#[cfg(test)]
@@ -140,14 +136,10 @@ mod tests {
140136

141137
#[test]
142138
fn test_find_default_version() {
143-
let check = |versions, expected| {
144-
let default_version = assert_some!(find_default_version(versions));
139+
fn check(versions: &Vec<Version>, expected: &str) {
140+
let default_version = assert_some!(versions.iter().max());
145141
assert_eq!(default_version.num.to_string(), expected);
146-
};
147-
148-
// No versions
149-
let versions = vec![];
150-
assert_none!(find_default_version(&versions));
142+
}
151143

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

0 commit comments

Comments
 (0)