This seems to be an MSVC/STL bug. Microsoft acknowledges as much in https://developercommunity.visualstudio.com/t/After-calling-std::promise::set_value_at/10205605. At the same time, fixing the bug would break ABI compatibility, which is why they are putting off a fix for now.