lmi-commits
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[lmi-commits] [lmi] master 1003201 2/2: Designate release candidate 2021


From: Greg Chicares
Subject: [lmi-commits] [lmi] master 1003201 2/2: Designate release candidate 20210806T1957Z
Date: Fri, 6 Aug 2021 20:06:37 -0400 (EDT)

branch: master
commit 100320168adb12565157068f0740b3b12d3b2d0f
Author: Gregory W. Chicares <gchicares@sbcglobal.net>
Commit: Gregory W. Chicares <gchicares@sbcglobal.net>

    Designate release candidate 20210806T1957Z
    
    There's no particular reason to make a release candidate now, except
    that some recent work is finished:
     - iostream scope guards: success
     - null ostream: largely fruitless
    
    As for null ostreams:
     - With 'wine', writing the solve trace to a null ostream, rather than
       to the statusbar, doubles the speed of a lengthy solve. With real
       msw, under otherwise identical circumstances, the effect on speed is
       negligible. Dreams of a tremendous improvement came to naught.
     - There's really no simple way to avoid the pitfall demonstrated in a
       recently-added unit test. In more detail...
    
    Given
      foo(arg1, arg2, std::ostream& os=some_default())
    it's not possible to write some_default() in a way that serves up an
    already-constructed (hence, static or global) stream while avoiding the
    peril that its streambuf can be replaced (with global effect). These
    techniques don't work:
     - Derive from std::ostream, and override rdbuf()...which isn't virtual,
       so the std::ostream& argument doesn't know about it.
     - Look for a virtual function that might be overridden, at least to
       assert that the streambuf hasn't been altered...but there is none in
       std::ostream, and overriding a streambuf function doesn't help when
       the streambuf has been replaced.
     - Try messing with unique_ptr...which means changing the problem to
         foo(arg1, arg2, SomeNewCustomStreamClass& os=some_default())
       but that's too much work.
     - Move constructor...nope:
         https://cplusplus.github.io/LWG/lwg-defects.html#911
---
 version.hpp | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/version.hpp b/version.hpp
index 3054c4a..f0cc8b9 100644
--- a/version.hpp
+++ b/version.hpp
@@ -22,6 +22,6 @@
 
 #include "config.hpp"
 
-#define LMI_VERSION "20210602T1807Z"
+#define LMI_VERSION "20210806T1957Z"
 
 #endif // version_hpp



reply via email to

[Prev in Thread] Current Thread [Next in Thread]