In line 1234 of futures.hpp (in the path for an empty when_all) executor(...) is called after std::move was called on the executor variable.