projects
/
rust-101.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
more monkey-patching for the website
[rust-101.git]
/
workspace
/
src
/
part07.rs
diff --git
a/workspace/src/part07.rs
b/workspace/src/part07.rs
index 0130637b7a83c853880c9126c2b3287099f62e07..75bd0cca93c5fd006083406936ea00d97fd1e649 100644
(file)
--- a/
workspace/src/part07.rs
+++ b/
workspace/src/part07.rs
@@
-1,5
+1,3
@@
-// ***Remember to enable/add this part in `main.rs`!***
-
// Rust-101, Part 07: Operator Overloading, Tests, Formatting
// ==========================================================
// Rust-101, Part 07: Operator Overloading, Tests, Formatting
// ==========================================================
@@
-13,14
+11,17
@@
pub trait Minimum {
pub fn vec_min<T: Minimum>(v: &Vec<T>) -> Option<&T> {
let mut min: Option<&T> = None;
for e in v {
pub fn vec_min<T: Minimum>(v: &Vec<T>) -> Option<&T> {
let mut min: Option<&T> = None;
for e in v {
- unimplemented!()
+ min = Some(match min {
+ None => e,
+ Some(n) => n.min(e)
+ });
}
min
}
// **Exercise 07.1**: For our `vec_min` to be usable with `BigInt`, you will have to provide an implementation of
// `Minimum`. You should be able to pretty much copy the code you wrote for exercise 06.1. You should *not*
}
min
}
// **Exercise 07.1**: For our `vec_min` to be usable with `BigInt`, you will have to provide an implementation of
// `Minimum`. You should be able to pretty much copy the code you wrote for exercise 06.1. You should *not*
-// make any copies!
+// make any copies
of `BigInt`
!
impl Minimum for BigInt {
fn min<'a>(&'a self, other: &'a Self) -> &'a Self {
unimplemented!()
impl Minimum for BigInt {
fn min<'a>(&'a self, other: &'a Self) -> &'a Self {
unimplemented!()