summaryrefslogtreecommitdiff
path: root/rustlings/exercises/16_lifetimes
diff options
context:
space:
mode:
Diffstat (limited to 'rustlings/exercises/16_lifetimes')
-rw-r--r--rustlings/exercises/16_lifetimes/lifetimes1.rs2
-rw-r--r--rustlings/exercises/16_lifetimes/lifetimes2.rs2
-rw-r--r--rustlings/exercises/16_lifetimes/lifetimes3.rs6
3 files changed, 5 insertions, 5 deletions
diff --git a/rustlings/exercises/16_lifetimes/lifetimes1.rs b/rustlings/exercises/16_lifetimes/lifetimes1.rs
index 19e2d39..683bd75 100644
--- a/rustlings/exercises/16_lifetimes/lifetimes1.rs
+++ b/rustlings/exercises/16_lifetimes/lifetimes1.rs
@@ -4,7 +4,7 @@
// not own their own data. What if their owner goes out of scope?
// TODO: Fix the compiler error by updating the function signature.
-fn longest(x: &str, y: &str) -> &str {
+fn longest<'a>(x: &'a str, y: &'a str) -> &'a str {
if x.len() > y.len() {
x
} else {
diff --git a/rustlings/exercises/16_lifetimes/lifetimes2.rs b/rustlings/exercises/16_lifetimes/lifetimes2.rs
index de5a5df..ebbc99c 100644
--- a/rustlings/exercises/16_lifetimes/lifetimes2.rs
+++ b/rustlings/exercises/16_lifetimes/lifetimes2.rs
@@ -11,9 +11,9 @@ fn main() {
// TODO: Fix the compiler error by moving one line.
let string1 = String::from("long string is long");
+ let string2 = String::from("xyz");
let result;
{
- let string2 = String::from("xyz");
result = longest(&string1, &string2);
}
println!("The longest string is '{result}'");
diff --git a/rustlings/exercises/16_lifetimes/lifetimes3.rs b/rustlings/exercises/16_lifetimes/lifetimes3.rs
index 1cc2759..91e3922 100644
--- a/rustlings/exercises/16_lifetimes/lifetimes3.rs
+++ b/rustlings/exercises/16_lifetimes/lifetimes3.rs
@@ -1,9 +1,9 @@
// Lifetimes are also needed when structs hold references.
// TODO: Fix the compiler errors about the struct.
-struct Book {
- author: &str,
- title: &str,
+struct Book<'a> {
+ author: &'a str,
+ title: &'a str,
}
fn main() {