BDE 3.91.1 Release¶
Schedule¶
The BDE team announces that the BDE 3.91.1 production release was completed on Tuesday, October 5, 2021.
BDE 3.91.1 Highlights¶
bsl::pair
and bsl::array
Now Provide Deduction Guides¶
This release adds deduction guides for bsl::pair
and bsl::array
allowing clients using C++17 to forgo supplying explicit template arguments
when creating a bsl::pair
or a bsl::array
. For example:
bslma::Allocator *alloc = ...
// without C++17 or deduction guides
bsl::pair<double, int> preC17pairA(1.0, 2);
bsl::pair<double, int> preC17pairB(1.0, 2, alloc);
bsl::array<int, 4> preC17Array{99, 98, 97, 96};
// with C++17 and deduction guides
bsl::pair postC17PairA(1.0, 2);
bsl::pair postC17PairB(1.0, 2, alloc);
bsl::array postC17Array{99, 98, 97, 96};
For bsl::array
, when using deduction guides, the type of the array is
deduced from the type of the first element in the sequence and the size of the
array is deduced from the length of the sequence.
Note that C++17 supports automatic template argument deduction in many
contexts, however some types require explicit deduction guides in order for the
compiler to deduce the template arguments. bsl::pair
and bsl::array
are the first bsl
types to provide deduction guides, extending the
deduction guides defined in the standard to be allocator aware. There is
ongoing work to provide similar guides for all the standard library types in
bsl
that require them.
Bug in bdlmt::FixedThreadPool
Resulted in drain
Not Working as Expected¶
With a simple sequence of one thread enqueueing jobs and then invoking drain
,
it was possible that not all jobs submitted were executed before the drain
completed. This was an intermittent failure and it was not clear if this could
fail on the first occurrence (e.g., whether this was not a problem for a single
use of drain
).
This release rolls back the affected component.
Fixed requests: 3.91.1¶
Summary |
---|
FixedThreadPool::drain() fails to wait for all jobs to finish |
Ball::FileObserver2: Option to disable unique-filename test |
balb_performancemonitor stats broken by setting thread name |
bsls::StackAddressUtil::getStackAddresses: intermittent error |
CTAD for ‘bsl::pair’ |
bdlc::FlatHashMap performance foot-gun with reserve() |
Add template deduction guides for bsl::array |
CTAD for ‘bsl::pair’ has type trait error |
Release BDE 3.91.1 |