summaryrefslogtreecommitdiff
path: root/exercises/generics
diff options
context:
space:
mode:
Diffstat (limited to 'exercises/generics')
-rw-r--r--exercises/generics/generics1.rs2
-rw-r--r--exercises/generics/generics2.rs5
-rw-r--r--exercises/generics/generics3.rs21
3 files changed, 15 insertions, 13 deletions
diff --git a/exercises/generics/generics1.rs b/exercises/generics/generics1.rs
index d075a4d..1e6ae9d 100644
--- a/exercises/generics/generics1.rs
+++ b/exercises/generics/generics1.rs
@@ -1,4 +1,4 @@
-// This shopping list program isn't compiling!
+// This shopping list program isn't compiling!
// Use your knowledge of generics to fix it.
// I AM NOT DONE
diff --git a/exercises/generics/generics2.rs b/exercises/generics/generics2.rs
index 23025aa..20c2127 100644
--- a/exercises/generics/generics2.rs
+++ b/exercises/generics/generics2.rs
@@ -2,6 +2,7 @@
// Rewrite it using generics so that it supports wrapping ANY type.
// I AM NOT DONE
+
struct Wrapper {
value: u32
}
@@ -18,11 +19,11 @@ mod tests {
#[test]
fn store_u32_in_wrapper() {
- assert_eq!(Wrapper::new(42).value, 42);
+ assert_eq!(Wrapper::new(42).value, 42);
}
#[test]
fn store_str_in_wrapper() {
assert_eq!(Wrapper::new("Foo").value, "Foo");
}
-} \ No newline at end of file
+}
diff --git a/exercises/generics/generics3.rs b/exercises/generics/generics3.rs
index c76425c..760028e 100644
--- a/exercises/generics/generics3.rs
+++ b/exercises/generics/generics3.rs
@@ -1,13 +1,14 @@
// An imaginary magical school has a new report card generation system written in Rust!
-// Currently the system only supports creating report cards where the student's grade
-// is represented numerically (e.g. 1.0 -> 5.5).
-// However, the school also issues alphabetical grades (A+ -> F-) and needs
+// Currently the system only supports creating report cards where the student's grade
+// is represented numerically (e.g. 1.0 -> 5.5).
+// However, the school also issues alphabetical grades (A+ -> F-) and needs
// to be able to print both types of report card!
-// Make the necessary code changes to support alphabetical report cards, thereby making
+// Make the necessary code changes to support alphabetical report cards, thereby making
// the second test pass.
// I AM NOT DONE
+
pub struct ReportCard {
pub grade: f32,
pub student_name: String,
@@ -16,7 +17,7 @@ pub struct ReportCard {
impl ReportCard {
pub fn print(&self) -> String {
- format!("{} ({}) - achieved a grade of {}",
+ format!("{} ({}) - achieved a grade of {}",
&self.student_name, &self.student_age, &self.grade)
}
}
@@ -28,8 +29,8 @@ mod tests {
#[test]
fn generate_numeric_report_card() {
let report_card = ReportCard {
- grade: 2.1,
- student_name: "Tom Wriggle".to_string(),
+ grade: 2.1,
+ student_name: "Tom Wriggle".to_string(),
student_age: 12,
};
assert_eq!(report_card.print(), "Tom Wriggle (12) - achieved a grade of 2.1");
@@ -39,10 +40,10 @@ mod tests {
fn generate_alphabetic_report_card() {
// TODO: Make sure to change the grade here after you finish the exercise.
let report_card = ReportCard {
- grade: 2.1,
- student_name: "Gary Plotter".to_string(),
+ grade: 2.1,
+ student_name: "Gary Plotter".to_string(),
student_age: 11,
};
assert_eq!(report_card.print(), "Gary Plotter (11) - achieved a grade of A+");
}
-} \ No newline at end of file
+}