diff options
| author | mo8it <mo8it@proton.me> | 2024-06-27 12:11:57 +0200 |
|---|---|---|
| committer | mo8it <mo8it@proton.me> | 2024-06-27 12:11:57 +0200 |
| commit | b4b7ae63ada9128d4798d301cfc757a60904c6b8 (patch) | |
| tree | d19b398559ad79c5e43ea3032358badc9c14b186 /exercises | |
| parent | c07209b635d6adf6fcadcbcca14942bf76a0a978 (diff) | |
traits3 solution
Diffstat (limited to 'exercises')
| -rw-r--r-- | exercises/15_traits/traits3.rs | 15 |
1 files changed, 7 insertions, 8 deletions
diff --git a/exercises/15_traits/traits3.rs b/exercises/15_traits/traits3.rs index 66da235..c244650 100644 --- a/exercises/15_traits/traits3.rs +++ b/exercises/15_traits/traits3.rs @@ -1,9 +1,8 @@ -// Your task is to implement the Licensed trait for both structures and have -// them return the same information without writing the same function twice. -// -// Consider what you can add to the Licensed trait. - trait Licensed { + // TODO: Add a default implementation for `licensing_info` so that + // implementors like the two structs below can share that default behavior + // without repeating the function. + // The default license information should be the string "Default license". fn licensing_info(&self) -> String; } @@ -15,8 +14,8 @@ struct OtherSoftware { version_number: String, } -impl Licensed for SomeSoftware {} // Don't edit this line -impl Licensed for OtherSoftware {} // Don't edit this line +impl Licensed for SomeSoftware {} // Don't edit this line. +impl Licensed for OtherSoftware {} // Don't edit this line. fn main() { // You can optionally experiment here. @@ -28,7 +27,7 @@ mod tests { #[test] fn is_licensing_info_the_same() { - let licensing_info = String::from("Some information"); + let licensing_info = "Default license"; let some_software = SomeSoftware { version_number: 1 }; let other_software = OtherSoftware { version_number: "v2.0.0".to_string(), |
