Section Index (original) (raw)
Title
Proposed Resolution
Duplicates
X [fs.op.file_size]
Enable efficient retrieval of file size from directory_entry
Yes
X 8 [class.path]
path::operator+= is defined, but not operator+
Yes
X 8.5 [path.itr]
Bidirectional iterator requirement on path::iteratoris very expensive
Yes
X 15.33 [fs.op.status]
status() effects cannot be implemented as specified
Yes
X 15.19 [fs.op.is_empty]
Should is_empty use error_code in its specification?
Yes
X 14.1 [rec.dir.itr.members] ΒΆ39
recursive_directory_iterator effects refers to non-existent functions
Yes
X 15.36 [fs.op.system_complete]
system_complete refers to undefined variable 'base'
Yes
X 15.3 [fs.op.copy]
Errors in Copy
Yes
X 8.4.3 [8.4.3], 8.6 [path.non-member]
operator / (and other append) semantics not useful if argument has root
No
X 4.8.5 [path.modifiers.remove_filename]
remove_filename() post condition is incorrect
Yes
X throughout
Bitmask operations should use bitmask terms
No
X 8.4.9 [path.decompose]
path::root_directory() description is confusing
Yes
[NAD Future](active.html#NAD Future)
X 6 & 15
[PDTS] Lack of relative() operation function
Yes
[NAD Future](active.html#NAD Future)
X all
[PDTS] Concerns with security and testability
Yes
[NAD Future](active.html#NAD Future)
X [fs.filesystem.synopsis], [fs.op.file_size]
[PDTS] uintmax_t too small for large file sizes
Yes
X 8.1 [path.generic]
[PDTS] Parent of root directory unspecified
Yes
X 13.1 [directory_iterator.members]
[PDTS] directory_iterator underspecified
Yes
X 15.4 [fs.op.copy_file]
[PDTS] Copying equivalent paths effects not specified
Yes
X 15.14 [fs.op.file_size]
[PDTS] Return value of uintmax_t on error?
Yes
X 6 [fs.filesystem.synopsis]
[PDTS] enum class directory_options has no summary
Yes
X 6 [fs.filesystem.synopsis]
[PDTS] directory_options::skip_permission_denied is not used
Yes
X 10.2 [enum.copy_options]
[PDTS] copy_options::copy_symlinks is not used
Yes
X 15.2 [fs.op.canonical]
[PDTS] All functions with error_code arguments should be noexcept
Yes
X 12 [class.directory_entry]
[PDTS] class directory_entry should retain operator const path&() from V2
Yes
X 13 [class.directory_iterator]
[PDTS] directory_iterator, recursive_directory_iterator, move construct/assign should be noexcept
Yes
X 15.7 [fs.op.create_directory]
[PDTS] create_directory should refer to perms::all instead of PosixS_IRWXU|S_IRWXG|S_IRWXO
Yes
X 8.4.6 [path.native.obs]
[PDTS] path::templatestring() conversion rules
Yes
X 8.4.1 [path.construct]
[PDTS] path and directory_entry move ctors should not be noexcept
Yes
X 12 [class.directory_entry]
[PDTS] directory_entry multithreading concerns
Yes
X 5 [fs.req]
[PDTS] Feature test macro for TS version
Yes
X 2.1 [fs.conform.9945]
[PDTS] Inappropriate use of "No diagnostic is required"
Yes
X 15.25 [fs.op.last_write_time]
[PDTS] POSIX utime() is obsolescent
Yes
X 15.1 [fs.op.absolute]
[PDTS] Incorrect Throws specification for absolute()
Yes
X 5 Requirements [fs.req]
Allocator requirements unspecified
Yes
X All
[PDTS] Make namespaces consistent with Library TS policy
Yes
X 2.1 [fs.conform.9945]
[PDTS] Tighten specification when there is no reasonable behavior
Yes
X 4.7 [fs.def.filename]
[PDTS] Filename length needs bullet item
Yes
X [fs.filesystem.synopsis]
[PDTS] file_time_type underspecified
Yes
X 8.2.2 [path.type.cvt]
[PDTS] Missing behavior for characters with no representation
Yes
X 8.4.3 [path.append]
[PDTS] Append behavior underspecified if target is empty
Yes
X 8.6.1 [path.io]
[PDTS] Consider using quoted manipulators
Yes
X 12.3 [directory_entry.obs]
[PDTS] directory_entry operator== needs clarification
Yes
X 15.3 [fs.op.copy]
[PDTS] Incorrect effects clause for path copy
Yes
X 15.27 [fs.op.read_symlink]
[PDTS] Unclear semantics of read_symlink on error
Yes
X 15.36 [fs.op.system_complete]
[PDTS] system_complete() example needs clarification
Yes
X 15.38 [fs.op.unique_path]
[PDTS] unique_path() is a security vulnerability
Yes
X 10.2 [enum.copy_options]
[PDTS] enum classes copy_options and perms should be bitmask types
Yes
X 15.25 [fs.op.last_write_time]
[PDTS] last_write_time() uses ill-formed cast
Yes
X 8 [class.path]
[PDTS] path::compare(const string& s) wrong argument type
Yes
X 13 [class.directory_iterator]
[PDTS] Better to avoid deriving from std::iterator
Yes
X 7 [fs.err.report]
[PDTS] Clarify Error reporting
Yes
X 4.15 [fs.def.path]
[PDTS] Path depth is underspecified
Yes
X 6 [fs.filesystem.synopsis], 15.32 [fs.op.space]
[PDTS] Unhelpful comment for struct space_info
Yes
X 6 [fs.filesystem.synopsis]
[PDTS] Unclear why range-based-for functions return different types
Yes
X 8.4.1 [path.construct]
[PDTS] Incorrect postconditions for path copy/move constructor
Yes
X 8.4.10 [path.query]
[PDTS] is_absolute() return clause confusing
Yes
[NAD Editorial](active.html#NAD Editorial)
X 10 [fs.enum]
[PDTS] Invalid expressions for bitmask types
Yes
[NAD Editorial](active.html#NAD Editorial)
X 6 [fs.filesystem.synopsis]
[PDTS] permissions() is missing from synopsis
Yes
X 4.14 [fs.def.parent]
[PDTS] Need definition of dot and dot-dot
Yes
X 12.3 [directory_entry.obs]
[PDTS] Make certain functions noexcept and drop error_code version
Yes
X 8 [class.path]
[PDTS] class path should have defaulted constructors/destructor/assignments.
Yes
X 6 [fs.filesystem.synopsis]
Surprising equivalent() behavior if neither file exists
Yes
X 6 [fs.filesystem.synopsis]
[PDTS] Apparently inconsistent return types from several functions
Yes
X 7 [fs.err.report] etc.
[PDTS] Missing actual error conditions thrown
Yes
X 8.4.5 [path.modifiers]
[PDTS] path member swap() unnecessary
Yes
X 15.30 [fs.op.rename]
[PDTS] POSIX guarantees atomicity for rename()
Yes
X 15
[PDTS] Request for create_regular_file() and/or touch()
Yes
X 15.13 [fs.op.equivalent]
[PDTS] Equivalence is a volatile property
Yes
X 15.25 [fs.op.last_write_time]
[PDTS] Possible last_write_time() postcondition?
Yes
X 15.28 [fs.op.remove]
[PDTS] remove() must avoid race
Yes
X 8.4.7 [path.generic.obs]
[PDTS] Do we really need generic*?
Yes
X 8 [class.path]
[PDTS] path::compare(const string&) should be path::compare(const string_type&)
Yes
X 13 [class.directory_iterator]
[PDTS] directory_iterator, recursive_directory_iterator, pointer/reference typedefs wrong
Yes