База Hintsage

Владение и заимствование

Ownership, borrowing, moves и правила безопасной памяти.

Практика

Вопросы: Владение и заимствование

Перед вами функция, принимающая callback, который возвращает заимствование из своего аргумента. Объясните, какую гарантию здесь даёт for<'a>:

fn identity<'a>(value: &'a str) -> &'a str {
    value
}

fn apply(
    callback: impl for<'a> Fn(&'a str) -> &'a str,
    text: &str,
) -> &str {
    callback(text)
}

fn main() {
    let text = String::from("ready");
    println!("{}", apply(identity, &text));
}
Программирование RustВладение и заимствованиеРазработчик системного ПО на Rust

Показано 2140 из 50