Для одного и того же объекта boost::any вызываю boost::any_cast в один и тот же тип (std::string) в разных местах одного и того же потока выполнения - в одном случае всё нормально, а в другом - выбрасывает исключение boost::bad_any_cast.
value.type().name() и в том и в другом случае выдаёт одно и то же (Ss).
В чём может быть дело?
Добавка:
если в boost::any вместо std::string запихать long - всё нормально отрабатывает.