From a1ba3f1677418fd124230efac9287054f9b5f5df Mon Sep 17 00:00:00 2001 From: Tshepang Mbambo Date: Sat, 28 Mar 2026 21:39:06 +0100 Subject: [PATCH] reflow sentence regarding early bounds --- src/early-late-parameters.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/early-late-parameters.md b/src/early-late-parameters.md index d78d5331b..4dd4d7417 100644 --- a/src/early-late-parameters.md +++ b/src/early-late-parameters.md @@ -130,9 +130,9 @@ f(&String::new()); f(&String::new()); ``` +The lifetime parameter on `foo` being early bound requires all callers of `f` to provide a borrow with the same lifetime. In this example, we call `foo`'s function item type twice, each time with a borrow of a temporary. -These two borrows could not possibly have lifetimes that overlap as the temporaries are only alive during the function call, not after. -The lifetime parameter on `foo` being early bound requires all callers of `f` to provide a borrow with the same lifetime, as this is not possible the borrow checker errors. +These two borrows could not possibly have lifetimes that overlap as the temporaries are only alive during the function call, not after, so we get a compilation error. If the lifetime parameter on `foo` was late bound, this would be able to compile as each caller could provide a different lifetime argument for its borrow. See the following example, which demonstrates this using the `bar` function defined above: