これまで、クロージャを引数として渡せることを見てきました。すると次の疑問が浮かんできます。「クロージャではない普通の関数を引数として渡すことは可能なのだろうか?」可能です!もしパラメータとしてクロージャを取る関数を定義すれば、そのクロージャのトレイト境界を満たす任意の関数をパラメータとして渡すことができます。
クロージャによる変数の捕捉がどのように行われているかを詳しく見たいときはFn、FnMut、FnOnceを参照してください。
Fn
FnMut
FnOnce
Fn, FnMut, FnOnce