Thanks to visit codestin.com
Credit goes to github.com

Skip to content

<mutex> : enable constexpr default constructor by, err, default #4338

@CaseyCarter

Description

@CaseyCarter

Some background:

#3824 fixed a decade-old bug by making the default constructor of std::mutex be constexpr. There was much rejoicing. There was also some wailing and gnashing of teeth from folks in Microsoft who were using current headers and old libraries - an unsupported scenario - who had to fix their broken builds/processes/pipelines. We had anticipated such problems, and added an opt-out macro specifically so folks could transition on their own timelines.

At the 11th hour before release, we realized that MSVC supports the UWP framework libraries from the Windows store with the live headers (:boggle:). While we were happy to stick to our guns and force misbehaving internals to fix their stuff in order to ship a fix for a ten-year-old bug, breaking well-behaved users was a non-starter. #4000 made the feature opt-in instead of opt-out to avoid breaking folks in 17.8 until we could get the UWP framework libraries updated.

The UWP library update process is incredibly slow but should be complete in time for us to re-enable the constexpr constructor by default (flipping back from opt-in to opt-out) in the 17.10 timeframe. This issue is a reminder to do so.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementSomething can be improvedfixedSomething works now, yay!

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions