Rustについて一瞬調べてたら for式 (for expression) があるらしいということがわかって、値を返すことを期待していたらどうやら () を返すらしかった。 以下のドキュメントをみるとStatementsではなくExpressionsの中で for expression と紹介されていた。 doc.rust-lang.org 調べてたら以下のissueに辿り着いた。 (2017年に閉じられている) github.com forやwhileループで値を返せてほしいという旨のissueで色々会話があったけど最終的には「ループで値を返すのはエッジケースだしdownsideが多そうなので現状は () を返すことにします」でまとまっていた。 [2022/2/27 追記] Twitterで、forとwhileで値を返すのがエッジケースで、loopはそうではないということを教えていただけ