[fs.class.file_status] depicts:
explicit file_status(file_type ft = file_type::none, perms prms = perms::unknown) noexcept;
while [fs.file_status.cons] describes two constructors:
explicit file_status() noexcept; explicit file_status(file_type ft, perms prms = perms::unknown) noexcept;
It's also not clear why the default constructor needs to be explicit. Unlike tag types, there doesn't seem to be a compelling reason to disallow constructing a file_status without naming the type.