이제 loop가 값과 함께 break할 수 있습니다.

Minimum Rust version: 1.19

이제 loop가 값과 함께 break할 수 있습니다:


# #![allow(unused_variables)]
#fn main() {
// 이전 버전
let x;

loop {
    x = 7;
    break;
}

// 새 버전
let x = loop { break 7; };
#}

Rust는 과거부터 "expression 지향 언어"라고 말해왔는데요, 그 말은, 언어에 존재하는 대부분의 것들이 expression이며 따라서 특정한 값으로 evaluate된다는 말입니다. (statement와는 다르게 말이죠) 그렇지만 loop는 지금까지 statement였기 때문에 이러한 기조에서 벗어나 있었습니다. 이제 그것을 고치려 합니다.

지금 당장은 이것이 적용되는 것은 loop뿐입니다. whilefor에는 적용되는 사항이 아닙니다. 지금 확실히 정해진 것은 없지만, 미래에 whilefor에도 이것이 적용될지도 모릅니다.