13.4.6 Coercion

더 긴 생명주기를 짧은 것에 강제하여 일반적으로 동작할 수 없는 범위에서도 동작하게 할 수 있다. 이는 Rust 컴파일러에 의한 추정된 강제의 형식으로 제공되며 수명 차이를 선언하는 형식이기도 하다.

// , Rust .
// .
fn multiply<'a>(first: &'a i32, second: &'a i32) -> i32 {
first * second
}
// `<'a: 'b,="" 'b="">` `'a` `'b` .
// `&'a i32` `&'b i32` .
fn choose_first<'a: 'b, 'b>(first: &'a i32, _: &'b i32) -> &'b i32 {
first
}
fn main() {
let first = 2; //
{
let second = 3; //
println!("The product is {}", multiply(&first, &second));
println!("{} is the first", choose_first(&first, &second));
};
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

results matching ""

    No results matching ""