Я заметил, что это объявление с символом каретки (^) закреплено на сайте cdecl.org вверху:
// "cast foo into block(int, long long) returning double"
(double (^)(int , long long ))foo
Может кто-нибудь объяснить, что такое цель символа карета здесь? Это действительно допустимый символ в объявлениях C или это заполнитель для чего-то?