BDE 3.44.0: Production Release¶
Schedule¶
BDE team is pleased to announce that the BDE 3.44.0 production release was completed on Wednesday, Dec 11, 2019
BDE 3.44.0 Highlights¶
Detecting and Addressing Common Problems with Smart Pointers¶
The most common cause of bugs with the smart pointer types
bsl::shared_ptr
andbslma::ManagedPtr
is incorrectly passing allocators on construction.
bde_verify
recently introduced checks (in version 1.3.1) that identify common mistakes when constructingbslma::ManagedPtr
andbsl::shared_ptr
objects. The new checks can be used to detect bugs in existing code.In parallel, BDE 3.44 has introduced a new pair of utility functions,
bslma::ManangedPtrUtil::makeManaged
andbslma::ManagedPtrUtil::allocateManaged
that reduce the possibility of error when creating abslma::ManagedPtr
(which parallel the standardbsl::make_shared
andbsl::allocate_shared
).We recommend these utilities when creating
bsl::shared_ptr
andbslma::ManagedPtr
objects.The new function signatures are as follows:
template <class ELEMENT_TYPE, class... ARGS> static ManagedPtr<ELEMENT_TYPE> allocateManaged( bslma::Allocator *basicAllocator, ARGS&&... args); // This function uses the supplied 'basicAllocator' to allocate the // footprint of the new object, and as a constructor argument for // 'ELEMENT_TYPE' if 'ELEMENT_TYPE' is 'bslma::allocator' aware. template <class ELEMENT_TYPE, class... ARGS> static ManagedPtr<ELEMENT_TYPE> makeManaged(ARGS&&... args); // This function uses the default 'basicAllocator' to allocate the // footprint of the new object, and supplies 'args' (without // amendment) to the constructor of 'ELEMENT_TYPE'.
Fixed requests: 3.44.0¶
Summary |
---|
(reverted) Possible (intentional) undefined behavior in ‘balber_beruniversal |
[bsl] bslmf_isbitwiseequalitycomparable has no documentation or test coverage |
Cleanup: remove all references to bsl+stdhdrs |
Please provide bslma::makeManaged |
bsitzo_tzdftimezoneutil.cpp incorrectly using Asia/Calcutta |
Fix ‘pretty’ output for baljsn_Formatter |
Update ‘bsl::make_shared’ behavior |
[bsl] Optimize ‘bslmf_voidtype’ for C++11 |
questions for using decimal64FromDouble(double, int) |
Fix UB with TimerEventSchedulerTestTimeSource |
Avoid allocation when printing bdld::DatumMapEntry |
[bsl] simplify nested trait detection and other traits using ‘BSLMF_VOIDTYPE |
Fix failing baljsn_encoder test case on Sun |
(doc-only) bsls_linkcoercion documentation needs refinement |
bdls_processutil: instrument get{ProcessName,PathToExecutable} to log error |
Add build prerequisites to bde/bde README |
baetzo_windowstimezoneutil.t.cpp test driver CASE 1 failing |
Fix baejsn_encoder test failures resulting from baljsn changes |
Correct nightly bsl test driver build error |
Use correct library detection macros for Solaris CC compiler |
bdlcc::SharedObjectPool ctor interface is ambiguous |
bsls_asserttest makes no note on noexcept or destructors |