'a는 수명을 늘리지 않고 참조 사이의 관계를 적는다
두 입력이 함께 유효한 범위 안에서만 반환 참조를 사용할 수 있다는 계약을 호출자와 컴파일러가 공유한다.
fn longest<'a>(x: &'a str, y: &'a str) -> &'a str
호출 시 'a는 두 입력의 겹치는 유효 구간을 넘을 수 없다
어느 입력이 먼저 끝나든, 반환 참조는 그 뒤에 사용할 수 없다.
시그니처가 말하는 것과 말하지 않는 것
관계를 공개한다입력 둘과 출력 하나가 같은 'a 계약에 참여한다.
값을 연장하지 않는다명시는 원래 데이터의 실제 수명을 바꾸지 않는다.
선택은 본문이 한다'a는 x와 y 중 무엇을 반환할지 정하지 않는다.