https://gcc.gnu.org/bugzilla/show_bug.cgi?id=104013
--- Comment #5 from Alexander Poeppel <trekie10b at gmx dot de> --- (In reply to Andrew Pinski from comment #3) > DR 2137 is the one. No other compiler implements it. That seems to be a different issue, since it pertains to copy cosntruction vs. initializer list construction. This issue concerns the incorrect overload resolution between template<typename T> std::vector(size_t n) {...} and template<typename T> std::vector(std::initializer_list<T> l) {...} for T = std::any. It works for T = int. So I think it might be a problem in the implementation of std::any, since it only goes wrong for that type.