https://gcc.gnu.org/bugzilla/show_bug.cgi?id=97198
--- Comment #3 from Marek Polacek <mpolacek at gcc dot gnu.org> --- (In reply to Jonathan Wakely from comment #2) > Hmm. It should be false for construction from no arguments i.e. > __is_constructible(int[]). > > But thanks to parenthesized aggregate init, you can actually do: > > using T = int[]; > T t(1); > > It's still true that int[] is incomplete, but in the example above you > actually construct is a int[1] not int[]. Agreed. > I think this should be an LWG issue. Yes, I'd prefer LWG guidance before making any changes here.