expression check

함수 끝에서 값이 남아야 반환 타입과 맞는다

세미콜론 하나가 표현식을 구문으로 바꾸고, 함수가 남기는 타입도 달라집니다.

returns value

마지막 표현식

fn five() -> i32 {
5
}

`5`가 블록의 마지막 값으로 남아 `i32` 반환 약속을 지킵니다.

returns unit

세미콜론이 붙은 구문

fn five() -> i32 {
5;
}

세미콜론 때문에 값이 버려져 실제 반환은 `()`가 됩니다.