Not sure if this is a language bug or a library bug: https://godbolt.org/z/EY6K9eKP9 ```cpp #include <vector> #include <list> template<template <class...> class Cnt, class Alloc> concept can_ctad = requires (int* it) { Cnt(it, it, Alloc{}); }; struct NotAlloc { }; static_assert(!can_ctad<std::vector, NotAlloc>); // hard error in MSVC-STL static_assert(!can_ctad<std::list, NotAlloc>); // hard error in MSVC-STL ```