この質問は、1.0 がリリースされる前の Rust のバージョンに関するものであることに注意してください。
引数で関数に提供されていない限り、関数からクロージャーを返すことは現在不可能であることを正しく理解していますか? これは非常に便利なアプローチです。たとえば、プログラムのさまざまな部分で、同じコード ブロックを別の方法でパラメーター化する必要がある場合などです。現在、コンパイラは当然、次のようなことを許可していません。
fn make_adder(i: int) -> |int| -> int {
|j| i + j
}
クロージャはスタックに確保され、関数から戻ると解放されるため、返すことはできません。
将来的にこれを機能させることは可能ですか?動的サイズの型でこれが可能になると聞きました。