Title
§[fs.file_status.cons] doesn't match class definition
Status
c++17
Section
[fs.class.file.status][fs.file.status.cons]
Submitter
Tim Song

Created on 2016-10-21.00:00:00 last changed 81 months ago

Messages

Date: 2017-03-19.19:35:20

Proposed resolution:

This wording is relative to N4606.

  1. Edit [fs.class.file_status] as indicated:

    class file_status {
    public:
      // 27.10.11.1, constructors and destructor:
      file_status() noexcept : file_status(file_type::none) {}
      explicit file_status(file_type ft = file_type::none,
                           perms prms = perms::unknown) noexcept;
      […]
    };
    
  2. Edit [fs.file_status.cons] as indicated:

    explicit file_status() noexcept;
    

    -1- Postconditions: type() == file_type::none and permissions() == perms::unknown.

Date: 2016-11-15.00:00:00

[ 2016-11-12, Issaquah ]

Sat AM: Priority 0; move to Ready

Date: 2017-03-19.19:35:20

[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.

History
Date User Action Args
2017-07-30 20:15:43adminsetstatus: wp -> c++17
2017-03-05 23:41:16adminsetstatus: ready -> wp
2016-11-21 05:09:01adminsetmessages: + msg8670
2016-11-21 05:09:01adminsetstatus: new -> ready
2016-10-31 21:06:33adminsetmessages: + msg8576
2016-10-21 00:00:00admincreate