diff options
Diffstat (limited to 'rustlings/solutions/14_generics')
| -rw-r--r-- | rustlings/solutions/14_generics/generics1.rs | 17 | ||||
| -rw-r--r-- | rustlings/solutions/14_generics/generics2.rs | 28 |
2 files changed, 0 insertions, 45 deletions
diff --git a/rustlings/solutions/14_generics/generics1.rs b/rustlings/solutions/14_generics/generics1.rs deleted file mode 100644 index e2195fd..0000000 --- a/rustlings/solutions/14_generics/generics1.rs +++ /dev/null @@ -1,17 +0,0 @@ -// `Vec<T>` is generic over the type `T`. In most cases, the compiler is able to -// infer `T`, for example after pushing a value with a concrete type to the vector. -// But in this exercise, the compiler needs some help through a type annotation. - -fn main() { - // `u8` and `i8` can both be converted to `i16`. - let mut numbers: Vec<i16> = Vec::new(); - // ^^^^^^^^^^ added - - // Don't change the lines below. - let n1: u8 = 42; - numbers.push(n1.into()); - let n2: i8 = -1; - numbers.push(n2.into()); - - println!("{numbers:?}"); -} diff --git a/rustlings/solutions/14_generics/generics2.rs b/rustlings/solutions/14_generics/generics2.rs deleted file mode 100644 index 14f3f7a..0000000 --- a/rustlings/solutions/14_generics/generics2.rs +++ /dev/null @@ -1,28 +0,0 @@ -struct Wrapper<T> { - value: T, -} - -impl<T> Wrapper<T> { - fn new(value: T) -> Self { - Wrapper { value } - } -} - -fn main() { - // You can optionally experiment here. -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn store_u32_in_wrapper() { - assert_eq!(Wrapper::new(42).value, 42); - } - - #[test] - fn store_str_in_wrapper() { - assert_eq!(Wrapper::new("Foo").value, "Foo"); - } -} |