STL: We should strengthen noexcept in more places
Nobody has claimed this yet.
- Dominant language
- C++
- Stars
- 11.2k
- Forks
- 1.7k
- Avg merge
- 4d 15h
- Merged PRs (30d)
- 22
Description
Once upon a time, the guidance from the compiler optimizer team was to never use noexcept except where the standard required it, because applying noexcept prevented functions from being optimized in many cases. Sometime around 2017 the compiler was fixed to play nicely with noexcept, and the new guidance is to strengthen noexcept wherever possible because deeply strengthened noexcept avoids emitting enforcement code in debug builds.
Before we have full testing out in GitHub we want to restrict this to "blindingly obvious" cases; so most conditionally noexcept cases should wait for now.
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
The issue names no files, tests, or entry points. Survey the STL implementation for cases where strengthening noexcept is blindingly obvious, while deferring most conditional noexcept changes; done means the selected cases are changed and covered by the project's available testing before broader adoption.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- cpp
- Domain
- compilers
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100