microsoft / microsoft/STL

STL: We should strengthen noexcept in more places

Open
#363 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

performance throughput
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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.