Вопрос в заголовке. Не могу найти информацию в справочной документации. Я не понимаю, почему конструктор по умолчанию выбрасывает, но я должен быть уверен, что это правильно, чтобы правильно документировать мои гарантии исключений.
Увидеть http://www.boost.org/doc/libs/1_54_0/doc/html/boost/function.html#idp15443616-bb: он явно заявляет «не будет бросать».
Других решений пока нет …