문자열 슬라이스 두 개 받아서 더 긴 쪽을 돌려주는 간단한 함수 짜는데 컴파일이 안 됩니다. 로직은 문제없어 보이는데 시그니처에서 막히네요.


fn longest(x: &str, y: &str) -> &str {
    if x.len() > y.len() {
        x
    } else {
        y
    }
}


에러 메시지입니다.


error[E0106]: missing lifetime specifier


반환 타입에 &str 그대로 썼을 뿐인데 lifetime specifier가 빠졌다고 하네요. 인자로 받은 참조를 그냥 되돌려주는 건데 컴파일러가 왜 수명을 명시하라고 요구하는지 이해가 잘 안 됩니다. 어떻게 고쳐야 하나요?