https://gcc.gnu.org/bugzilla/show_bug.cgi?id=102576
--- Comment #1 from Johel Ernesto Guerrero Peña <johelegp at gmail dot com> --- `<array>` is specified as including `<initializer_list>`. It doesn't with with that either: ```C++ import<array>; namespace { constexpr void test() { for (const int i : {0, 1, -1}) { } ``` ``` error: deducing from brace-enclosed initializer list requires ‘#include <initializer_list>’ 2 | import<array>; +++ |+#include <initializer_list> 3 | // import<iterator>; ...... 10 | for (const int i : {0, 1, -1}) { | ^ ``` This might apply more generally to standard headers specified as including other headers.