This page is a snapshot from the LWG issues list, see the Library Active Issues List for more information and the meaning of TS status.

2660. [filesys.ts] [PDTS] Incorrect Throws specification for absolute()

Section: 15.1 [filesys.ts::fs.op.absolute] Status: TS Submitter: Daniel Krügler Opened: 2014-02-28 Last modified: 2017-07-30

Priority: Not Prioritized

View all issues with TS status.

Discussion:

Addresses: filesys.ts

The Throws element [fs.op.absolute] says:

"If base.is_absolute() is true, throws only if memory allocation fails."

We can strike:

"If base.is_absolute() is true," and the wording will still hold. Note that:

  1. None of the involved functions has requirements.
  2. In every case potentially memory allocation occurs, even for "return p", so this allocation can fail.

[2014-03-02 Beman Dawes comments and provides P/R]

The Throws element should follow the same form as similar Throws elements in the TS. There isn't enough special about this function to justify special wording and by referencing Error reporting (7) we ensure absolute() follows the overall policy for handling memory allocation failures.

Proposed resolution:

[Change 15.1 [fs.op.absolute]:]

Throws: If base.is_absolute() is true, throws only if memory allocation fails. As specified in Error reporting (7).