多分 func がライブラリで提供される関数で、
sub をコールバック関数として渡すんじゃないかと思われ。